-
Hintergrund
-
Angesichts der schnellen Entwicklung mobiler Einrichtungen, wie z. B. von Mobiltelefonen, drahtlosen E-Mail-Einrichtungen und Tablet-Computern, haben Benutzer heute an beliebigen physischen Standorten Zugang zu Einrichtungen mit signifikanter Rechenleistung und Speicherkapazität. Weiter können Benutzer durch die nahezu globale Präsenz von Funkzellen- und anderen drahtlosen Netzwerken, diese mobilen Einrichtungen auch von praktisch beliebigen physischen Standorten für den einfachen Internetzugang nutzen.
-
Kurzbeschreibung der Zeichnungen
-
Die folgende detaillierte Beschreibung nimmt Bezug auf die Zeichnungen, die Folgendes zeigen:
-
1 ist ein Blockdiagramm einer beispielhaften Client-Computereinrichtung zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs;
-
2A ist ein Blockdiagramm einer beispielhaften Client-Computereinrichtung, die einen Typ-1-Hypervisor ausführt und den für eine mobile Computereinrichtung verfügbaren Internetzugang teilt.
-
2B ist ein Blockdiagramm einer beispielhaften Client-Computereinrichtung, die einen Typ-2-Hypervisor ausführt und den für eine mobile Computereinrichtung verfügbaren Internetzugang teilt.
-
3 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs mit einer Client-Computereinrichtung.
-
4A ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Initialisieren einer Client-Computereinrichtung mit einem Typ-1-Hypervisor zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs.
-
4B ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Initialisieren einer Client-Computereinrichtung mit einem Typ-2-Hypervisor zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs.
-
5A ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Übertragen von in einem Gast-BS einer Client-Computereinrichtung erzeugten Paketen unter Verwendung eines virtuellen Netzwerktreibers; und
-
5B ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Empfang von für ein Gast-BS einer Client-Computereinrichtung vorgesehenen Paketen unter Verwendung eines virtuellen Netzwerktreibers.
-
Detaillierte Beschreibung
-
Wie oben erläutert, stellen viele mobile Computereinrichtungen signifikante Speicher- und Computerfähigkeiten bereit, wobei sie auch den Netzwerkzugriff für den Nutzer unabhängig von dessen Standort bereitstellen. Obwohl mobile Einrichtungen sehr bequem sind, greifen die meisten Nutzer auch auf andere Einrichtungen als ihre Mobilgeräte zu, wie z. B. auf Desktop- oder Notebook-Computer. Leider sind Desktops, Notebooks und andere ähnliche Einrichtungen im Allgemeinen vorkonfiguriert, um ein bestimmtes Betriebssystem (BS) und eine vorbestimmte Gruppe von Anwendungen auszuführen. Demzufolge muss der Nutzer im Allgemeinen jeden Desktop oder Notebook, den er oder sie verwendet, manuell anpassen. Weiter kann der Nutzer in einigen Situationen möglicherweise nicht in der Lage sein, die Computereinrichtung anzupassen, wenn das Gerät beispielsweise an einem öffentlichen Ort wie einer Bibliothek oder einem Arbeitsplatz ist. In Abhängigkeit vom Standort hat der Desktop, der Notebook oder das andere ähnliche Gerät weiter keinen Internetzugang.
-
Um diese Probleme zu behandeln, ermöglichen es hier beschriebene beispielhafte Ausführungsformen einem Nutzer, die Fähigkeiten eines mobilen Geräts zu nutzen, um auf einer Client-Computereinrichtung eine anpassbare Computerumgebung mit Internetzugang zu schaffen, auch wenn die Client-Einrichtung keine nativen Netzwerkfähigkeiten aufweist. Beispielsweise kann ein Benutzer bei einigen Ausführungsformen ein Bild einer virtuellen Maschine auf einem in einer mobilen Computereinrichtung enthaltenen Speichermedium speichern. Der Nutzer kann die mobile Computereinrichtung dann unter Verwendung einer gegebenen Schnittstelle, die kabelgebunden oder drahtlos sein kann, mit einer Client-Computer-Zieleinrichtung koppeln. Daraufhin kann der Client-Computer die virtuelle Maschine über die Schnittstelle empfangen und ein Gast-Betriebssystem laden, das im Bild der virtuellen Maschine enthalten ist. Nach der Initialisierung des Gast-BS kann die Client-Computereinrichtung anschließend über das Internet Netzwerkdaten mit der mobilen Computereinrichtung austauschen, wobei eine in der mobilen Computereinrichtung enthaltene Netzschnittstelle verwendet wird, um Internetzugang zu erhalten.
-
Auf diese Weise ermöglichen es hierin beschriebene beispielhafte Ausführungsformen einem Nutzer, ein angepasstes Bild der virtuellen Maschine auf die eigene mobile Computereinrichtung zu transportieren. Da der Nutzer anschließend unter Implementierung der hierin beschriebenen Funktionalität die Möglichkeit des Zugriffs auf diese individuelle Umgebung auf beliebigen Client-Einrichtungen hat, kann der Nutzer auf Reisen Notebook-Computer oder andere sperrige Geräte vermeiden, und er kann auch die Notwendigkeit der Anpassung jeder Client-Einrichtung, auf die zugegriffen wird, minimieren. Weiter ermöglichen es beispielhafte Ausführungsformen einem Benutzer, unter Verwendung des mobilen Geräts auf der Client-Computereinrichtung leicht sicheren Netzwerkzugang zu erhalten und damit den Netzzugriff auf dem Client-Gerät bereitzustellen, selbst wenn der Client nicht über native Netzwerkfähigkeiten verfügt. Zusätzliche Ausführungsformen und Vorteile dieser Ausführungsformen sind für Fachleute auf diesem Gebiet beim Lesen und Verstehen der folgenden Beschreibung offensichtlich.
-
Mit Bezug auf die Zeichnungen ist 1 ist ein Blockdiagramm einer beispielhaften Client-Computereinrichtung 100 zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs. Die Client-Computereinrichtung 100 kann beispielsweise ein Notebook-Computer, ein Desktop-Computer, ein All-in-One-System, eine Workstation, ein Tablet-Computergerät oder eine beliebige andere für die Ausführung der im Folgenden beschriebenen Funktionalität geeignete Computereinrichtung sein. Bei der Implementierung von 1 weist eine Client-Computereinrichtung 100 einen Prozessor 110, eine Schnittstelle 115 und ein maschinenlesbares Medium 120 auf.
-
Der Prozessor 110 kann eine oder mehrere Zentraleinheit(en) (CPU). Ein oder mehrere Mikrozessor(en) und/oder andere Hardwareeinrichtungen sein, die sich für den Abruf und die Ausführung von im maschinenlesbaren Speichermedium 120 gespeicherten Anweisungen eignen. Der Prozessor 110 kann die Anweisungen 122, 124, 126, 128 abrufen, decodieren und ausführen, um das Verfahren zum Teilen des in einer mobilen Computereinrichtung verfügbaren Internetzugangs entsprechend der folgenden Beschreibung zu implementieren. Als Alternative bzw. zusätzlich zum Abruf und zur Ausführung von Anweisungen kann der Prozessor 110 eine oder mehrere elektronische Schaltung(en) aufweisen, die eine Anzahl elektronischer Komponenten aufweisen, um den Funktionsumfang der einen oder mehreren Anweisung(en) 122, 124, 126, 128 auszuführen.
-
Die Schnittstelle 115 kann eine Anzahl elektronischer Komponenten für die Kommunikation mit einer mobilen Computereinrichtung aufweisen. Beispielsweise kann die Schnittstelle 115 eine Universal-Serial-Bus-(USB)-Schnittstelle, eine IEEE-1394-(Firewire)-Schnittstelle, eine ”external Serial Advanced Technology Attachment”-(eSATA)-Schnittstelle oder eine beliebige andere physische Anschlussschnittstelle sein, die zur Kommunikation mit der mobile Computereinrichtung geeignet ist. Alternativ dazu kann die Schnittstelle 115 eine drahtlose Schnittstelle sein, wie z. B. eine ”Wireless Local Area Network”-(WLAN)-Schnittstelle oder eine „Near-Field Communication”-(NFC)-Schnittstelle. Im Betrieb kann die Schnittstelle 115 entsprechend der folgenden Beschreibung verwendet werden, um Daten an bzw. von eine(r) entsprechende(n) Schnittstelle einer mobilen Computereinrichtung zu versenden und zu empfangen, wie z. B. einen Hypervisor, ein Bild einer virtuellen Maschine und Netzwerkdaten.
-
Das maschinenlesbare Speichermedium 120 kann eine beliebige elektronische, magnetische, optische oder sonstige physische Speichereinrichtung sin, die ausführbare Anweisungen enthält bzw. speichert. Das maschinenlesbare Speichermedium 120 kann somit beispielsweise Random Access Memory (RAM), ein Electrically-Erasable Programmable Read-Only Memory (EEPROM), ein Speicherlaufwerk, eine Optical Disc und Ähnliches sein. Entsprechend der folgenden detaillierten Beschreibung kann das maschinenlesbare Speichermedium 120 mit ausführbaren Anweisungen zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs unter Verwendung eines Hypervisors und eines Gast-Betriebssystems codiert werden.
-
Hypervisor-Ladeanweisungen 122 können konfiguriert werden, um einen Hypervisor (auch als Virtual Machine Monitor (VMM) bezeichnet) in die Client-Computereinrichtung 100 zu laden. Beispielsweise kann der Hypervisor ein handelsüblicher Hypervisor sein, wie z. B. der Xen® Hypervisor, Microsoft Hyper-V®, Parallels Desktop®, VMware vSphere® und Ähnliches. Alternativ dazu kann der Hypervisor ein individuell entwickelter Hypervisor sein.
-
Bei einigen Ausführungsformen kann der Hypervisor lokal in der Client-Computereinrichtung 100 gewartet werden, sodass die Anweisungen 122 den Hypervisor von einer lokalen Speichereinrichtung in den Arbeitsspeicher laden. Bei anderen Ausführungsformen kann die Client-Computereinrichtung 100 dagegen den Hypervisor unter Verwendung der Schnittstelle 115 von einer Speichereinrichtung der mobilen Computereinrichtung lesen und den Hypervisor anschließend in den Arbeitsspeicher laden. In Abhängigkeit von der Implementierung kann der durch die Anweisungen 122 geladene Hypervisor entweder ein Typ-1-Hypervisor oder ein Typ-2-Hypervisor sein. Beispielhafte Implementierungen unter Verwendung beider Hypervisor-Typen sind im Folgenden in Zusammenhang mit 2A bzw. 2B ausführlich beschrieben.
-
Ungeachtet der Einzelheiten der Implementierung stellt der Hypervisor im Betrieb auf der Computereinrichtung 100 eine Umgebung bereit, welche die Ausführung von einem oder mehreren Gast-Betriebssystem(en) auf der Computereinrichtung 100 ermöglicht. Beispielsweise kann der Hypervisor eine Betriebsplattform bereitstellen, die es jedem Gast-BS ermöglicht, virtuelle Hardwareressourcen anzufordern, die vom Hypervisor virtualisiert werden. Der Hypervisor kann anschließend jedem anfordernden Gast-BS Hardwareressourcen zuteilen. Somit kann entsprechend der folgenden detaillierten Beschreibung der ausführende Hypervisor das durch die Empfangsanweisungen 124 empfangene und durch die Ladeanweisungen 126 geladene Gast-BS aufnehmen.
-
Die Empfangsanweisungen 124 für das Bild der virtuellen Maschine können über die Schnittstelle 115 ein in der Speichereinrichtung der mobilen Computereinrichtung gewartetes Bild der virtuellen Maschine empfangen. Das empfangene Bild der virtuellen Maschine kann eine Datei oder eine Dateigruppe sein, Attribute einer emulierten Computereinrichtung angibt, wie z. B. eine Prozessorarchitektur, Eine Anzahl von Prozessoren, einen Betrag der Speicherkapazität, eine Arbeitsspeichermenge, Boot-Eigenschaften usw. Bei einigen Implementierungen können in einer Gruppe aus einer oder mehreren Konfigurationsdatei(en) zusätzliche Attribute angegeben werden.
-
Das Bild der virtuellen Maschine kann auch ein Gast-Betriebssystem aufweisen sowie bei einigen Implementierungen eine oder mehrere Anwendung(en) zur Ausführung im BS. Das im Bild der virtuellen Maschine enthaltene Gast-BS kann ein beliebiges Betriebssystem sein, das in einer virtuellen Maschine installiert und durch die Client-Computereinrichtung 100 ausführbar ist. Beispielsweise kann bei einigen Ausführungsformen das empfangene Bild der virtuellen Maschine ein vorkonfiguriertes Betriebssystem mit vollem Funktionsumfang und einer Anzahl von Anwendungen aufweisen, die im BS ausgeführt werden können. Als weiteres Beispiel kann das Bild der virtuellen Maschine ein Bild einer virtuellen Anwendung (auch als Virtual Appliance bezeichnet) sein, sodass das Bild ein eingeschränktes BS mit einer Anwendung aufweist, die für die Ausführung im eingeschränkten BS geeignet ist.
-
Nach dem Empfang des Bildes der virtuellen Maschine können die Ladeanweisungen 126 des Gast-BS das im Bild der virtuellen Maschine enthaltene Gast-OS zur Ausführung auf der Client-Computereinrichtung 100 laden. Beispielsweise kann die Computereinrichtung 100 das Gast-BS in den Arbeitsspeicher laden und mit der Ausführung des BS im durch die Anweisungen 122 geladenen Hypervisor beginnen. Der Hypervisor kann anschließend mit dem geladenen Gast-BS kommunizieren, um dem Gast-BS bei Anforderung durch das Gast-BS Ressourcen zuzuteilen.
-
Während des Betriebs des geladenen Gast-BS können das Gast-BS oder ausgeführte Anwendungen im Gast-BS Netzwerkdaten zur Übertragung erzeugen oder alternativ dazu Netzwerkdaten von einer externen Quelle empfangen. Um diese Netzwerkdaten mit der mobilen Computereinrichtung über die Schnittstelle 115 auszutauschen, können die Initialisierungsanweisungen 128 des virtuellen Netzwerktreibers einen virtuellen Netzwerktreiber initialisieren, der die in der mobilen Computereinrichtung enthaltene Netzwerkhardware virtualisiert. Nach der Initialisierung kann der virtuelle Netzwerktreiber Netzwerkdaten zwischen dem auf der Computereinrichtung 100 ausgeführten Gast-BS und der Netzwerkhardware der mit der Client-Computereinrichtung 100 gekoppelten mobilen Computereinrichtung austauschen. Auf diese Weise kann die Computereinrichtung 100 den für die mobile Computereinrichtung verfügbaren Internetzugang verwenden, indem einfach das im empfangenen virtuellen Bild enthaltene Gast-BS initialisiert und der Treiber geladen wird und anschließend unter Verwendung des Treibers Netzwerkdaten ausgetauscht werden.
-
Die Anordnung des virtuellen Netzwerktreibers kann in Abhängigkeit von der besonderen Implementierung unterschiedlich sein. Beispielsweise kann der virtuelle Netzwerktreiber bei einigen Ausführungsformen innerhalb des Gast-Betriebssystems ausgeführt werden. Bei anderen Ausführungsformen kann der virtuelle Netzwerktreiber im Hypervisor ausgeführt werden. Bei wiederum anderen Ausführungsformen kann der virtuelle Netzwerktreiber innerhalb des Host-Betriebssystems der Client-Computereinrichtung 100 ausgeführt werden (unter der Voraussetzung, dass der Hypervisor ein Typ-2-Hypervisor ist). Die Initialisierung und der Betrieb des Treibers bei derartigen Ausführungsformen werden im Folgenden in Zusammenhang mit 2A und 2B beschrieben.
-
Ungeachtet seiner Anordnung tauscht der virtuelle Netzwerktreiber, nachdem er geladen und initialisiert worden ist, unter Verwendung der Schnittstelle 115 Daten mit der Netzwerkhardware der mobilen Computereinrichtung aus. Bei der Übertragung von im Gast-BS erzeugten Daten an ein Ziel im Internet kann der Treiber daher die Daten über die Schnittstelle 115 von der Client-Computereinrichtung 100 zur mobilen Einrichtung übertragen. Umgekehrt kann der Treiber beim Empfang von für das Gast-BS vorgesehenen Netzwerkdaten von einer Quelle im Internet die Daten über die Schnittstelle 115 von der mobilen Einrichtung für die Client-Computereinrichtung 100 empfangen.
-
Im Betrieb ermöglicht die Client-Computereinrichtung 100 einem Nutzer somit das rasche Laden und Ausführen eines Bildes einer virtuellen Maschinen und die Bereitstellung von Internetzugang für die Einrichtung 100 über das im Bild der virtuellen Maschine enthaltene Gast-BS. Insbesondere kann der Nutzer nach dem Koppeln der Client-Computereinrichtung 100 mit der mobilen Einrichtung unter Verwendung der Schnittstelle 115 das Bild der virtuellen Maschine empfangen, das Gast-BS ausführen und anschließend die Netzwerkhardware der mobilen Computereinrichtung verwenden, um Internetzugang zu erhalten.
-
2A ist ein Blockdiagramm einer beispielhaften Client-Computereinrichtung 200, die einen Typ-1-Hypervisor 210 ausführt und den für eine gekoppelte mobile Computereinrichtung 230 verfügbaren Internetzugang teilt. Entsprechend der folgenden detaillierten Beschreibung kann die Client-Computereinrichtung 200 mit der mobilen Computereinrichtung 230 kommunizieren, um ein Bild 222 einer virtuellen Maschine zu empfangen und Netzwerkdaten 224 auszutauschen.
-
Entsprechend der Darstellung kann die Client-Computereinrichtung 200 eine virtuelle Maschine 205, ein Gast-BS 207, einen Typ-1-Hypervisor 210, Hardware 215, eine Schnittstelle 217 und einen virtuellen Netzwerktreiber 220 aufweisen. Bei einigen Ausführungsformen können die virtuelle Maschine 205, das Gast-BS 207, der Hypervisor 210 und der virtuelle Netzwerktreiber 220 als eine Serie von Anweisungen implementiert sein, die auf einem Speichermedium codiert sind und durch die Hardware 215 der Client-Computereinrichtung 200 ausgeführt werden. Beispielsweise können diese Komponenten aus dem Random Access Memory (RAM) durch einen in der Hardware 215 enthaltenen Prozessor ausgeführt werden, der dem Prozessor 110 aus 1 ähnlich ist.
-
Im Betrieb kann der Typ-1-Hypervisor 210 zuerst auf der Client-Computereinrichtung 200 initialisiert werden. Da der Hypervisor 210 „Typ 1” ist, kann der Hypervisor 210 direkt und ohne ein zugrunde liegendes Host-Betriebssystem auf der Hardware 215 der Computereinrichtung 200 ausgeführt werden. Beispielsweise kann der Typ-1-Hypervisor 210 anfänglich von einer in der Hardware 215 enthaltenen und während einer Boot-Sequenz der Computereinrichtung 200 geladenen lokalen Speichereinrichtung abgerufen werden. Nach dem Laden kann der Hypervisor 210 konfiguriert werden, um virtuellen Maschinen, die mit dem Hypervisor 210 kommunizieren, wie z. B. der virtuellen Maschine 205, Ressourcen zuzuteilen.
-
Um die virtuelle Maschine 205 zu laden, kann die Client-Computereinrichtung 200 anfänglich das Bild 222 der virtuellen Maschine mittels Kommunikation zwischen der Schnittstelle 217 und der Schnittstelle 235 empfangen. Wenn der Nutzer beispielsweise eine kabelgebundene oder drahtlose Verbindung zwischen der Schnittstelle 217 und der Schnittstelle 235 herstellt, kann der Hypervisor 210 automatisch die Verbindung erkennen und die mobile Computereinrichtung 230 als Wechselspeichereinrichtung mounten. Nach der erforderlichen Nutzerauthentifizierung kann der Hypervisor anschließend beginnen, das Speichermedium 245 der mobilen Computereinrichtung 230 zu durchsuchen, um alle verfügbaren Bilder virtueller Maschinen zu identifizieren. Beim Erkennen eines Bildes 247 der virtuellen Maschine kann der Hypervisor 210 das Bild als Bild 222 der virtuellen Maschine über die Schnittstelle 217, 235 empfangen.
-
Wenn die Übertragung des Bildes 222 der virtuellen Maschine abgeschlossen ist, kann die Client-Computereinrichtung 200 anschließend beginnen, das im Bild der virtuellen Maschine, das jetzt als virtuelle Maschine 205 im Arbeitsspeicher geladen ist, enthaltene Gast-BS 207 auszuführen. Wenn dessen Betrieb aufgenommen ist, kann das Gast-BS 207 virtuelle Ressourcen vom Typ-1-Hypervisor 210 anfordern, der als Reaktion auf derartige Anforderungen in der Hardware 215 verfügbare physische Ressourcen wie z. B. Arbeitsspeicher, Prozessoren und Speicherkapazität zuteilen kann.
-
Um Netzwerkdaten 224 zu übertragen bzw. zu empfangen kann das Gast-BS weiter mit einem virtuellen Netzwerktreiber 220 kommunizieren, der auf der Client-Computereinrichtung 200 geladen ist. Der virtuelle Netzwerktreiber 220 kann die Netzwerkhardware 240 der mobilen Computereinrichtung 230 virtualisieren. Auf diese Weise kann das Gast-BS Netzwerkdaten unter Verwendung der Netzwerkhardware 240 übertragen und empfangen, als sei in der Client-Computereinrichtung 200 eine physische Netzwerkkarte installiert.
-
Entsprechend der Darstellung kann der virtuelle Netzwerktreiber 220 an einer Position aus einer Reihe von Orten angeordnet sein. Der Prozess der Initialisierung des Treibers 220 kann in Abhängigkeit von dessen Anordnung unterschiedlich sein.
-
Wenn der virtuelle Netzwerktreiber 220 beispielsweise im Hypervisor 210 angeordnet ist, kann der Treiber 220 unmittelbar nach dem Initialisieren des Hypervisors 210 und vor der Initialisierung der virtuellen Maschine 205 initialisiert werden. Bei derartigen Ausführungsformen kann der Treiber 220 verwendet werden, um Netzwerkdaten 224 unter Verwendung der Schnittstellen 217, 235 zu übertragen, sobald der Treiber 220 im Hypervisor 210 geladen ist. Alternativ dazu, wenn der virtuelle Netzwerktreiber 220 im Gast-BS 207 angeordnet ist, Kann der Treiber 220 initialisiert werden, wenn die virtuelle Maschine 205 im Hypervisor 210 ausgeführt wird.
-
Nachdem sowohl der Hypervisor 210 als auch das Gast-BS 207 und der virtuelle Netzwerktreiber 220 initialisiert worden sind, kann die Client-Computereinrichtung 200 beginnen, Netzwerkdaten 224 zwischen dem Gast-BS 207 und der mobilen Computereinrichtung 230 auszutauschen, um dadurch den für die mobile Computereinrichtung 230 verfügbaren Internetzugang zu verwenden. Insbesondere kann der virtuelle Netzwerktreiber 220 nach seinem Laden die Übertragung der Netzwerkdaten 224 zu und von der mobilen Computereinrichtung 230 zwischen den Schnittstellen 217, 235 steuern. Zur Übertragung von Daten kann das Gast-BS 207 beispielsweise zunächst die Netzwerkdaten zum Treiber 220 bereitstellen. Als Reaktion darauf kann der Treiber 220 die Netzwerkdaten 224 zwischen der Schnittstelle 217 und der Schnittstelle 235 übertragen, und nach dem Empfang der Netzwerkdaten kann die mobile Computereinrichtung 230 die Daten unter Verwendung der Netzwerkhardware 240 übertragen. Umgekehrt kann der Treiber 220 nach dem Empfang von Daten in der Netzwerkhardware 240 die Netzwerkdaten 224 von der Schnittstelle 235 zur Schnittstelle 217 auslesen und die Daten zum Hypervisor 210 bereitstellen. Als Reaktion darauf kann der Hypervisor 210 den vorgesehenen Empfänger der Netzwerkdaten 224 identifizieren und, wenn dieser Empfänger das Gast-BS 207 ist, die Daten 224 zum Gast-BS 207 bereitstellen.
-
Die mobile Computereinrichtung 230 kann beispielsweise ein Mobiltelefon, eine Tablet-Computereinrichtung, eine drahtlose E-Mail-Einrichtung, ein Notebook-Computer oder eine beliebige andere tragbare Computereinrichtung mit Internetzugang sein, der mit der Computereinrichtung 200 geteilt werden kann. Entsprechend der Darstellung kann die mobile Computereinrichtung 230 eine Schnittstelle 235, Netzwerkhardware 240, ein Speichermedium 245 und ein Bild 247 einer virtuellen Maschine aufweisen.
-
Wie bei der Schnittstelle 115 aus 1 kann die Schnittstelle 235 elektronische Komponenten für die kabelgebundene oder drahtlose Kommunikation mit der Client-Computereinrichtung 200 aufweisen. Entsprechend der vorstehenden Beschreibung kann die Schnittstelle 235 mit einer entsprechenden Schnittstelle 217 der Client-Computereinrichtung 200 kommunizieren, um das Bild 222 der virtuellen Maschine zu übertragen und Netzwerkdaten 224 auszutauschen. Die Netzwerkhardware 240 kann beispielsweise ein drahtloser Transceiver sein, der Internetzugang über eine Verbindung mit einem funkzellengestützten oder einem anderen drahtlosen Netzwerk bereitstellen kann. Entsprechend der vorstehenden Beschreibung kann die Netzwerkhardware 240 verwendet werden, um Netzwerkdaten 224 für die Client-Computereinrichtung 200 zu übertragen und zu empfangen. Schließlich kann das Speichermedium 245 ähnlich wie das Speichermedium 120 aus 1 konfiguriert werden, und es kann daher eine beliebige Hardwareeinrichtung sein, die ein Bild 247 einer virtuellen Maschine speichern kann.
-
Das Bild 247 der virtuellen Maschine kann anfänglich auf eine Reihe von Arten im Speichermedium 245 gespeichert werden. Beispielsweise kann der Nutzer bei einigen Ausführungsformen das Bild 247 der virtuellen Maschine manuell in das Speichermedium 245 laden, indem die Schnittstelle 235 mit einer Schnittstelle einer anderen Computereinrichtung, die das Bild 247 speichert, gekoppelt wird. Als weiteres Beispiel kann das Bild 247 der virtuellen Maschine durch eine auf der mobilen Einrichtung 230 ausgeführte Anwendung heruntergeladen werden. Beispielsweise kann ein Nutzer eine Anwendung ausführen, die die Verbindung mit einer Datenbank herstellt, die Bilder von virtuellen Maschinen enthält, und die Anwendung verwenden, um ein bestimmtes Bild 247 einer virtuellen Maschine auszuwählen und zum Speichermedium 245 herunterzuladen. Ungeachtet des zum Speichern des Bildes 247 verwendeten Verfahrens kann das Bild 247 entsprechend der vorstehenden Beschreibung zur Ausführung für die Client-Computereinrichtung 200 bereitgestellt werden.
-
2B ist ein Blockdiagramm einer beispielhaften Client-Computereinrichtung 250, die einen Typ-2-Hypervisor 255 ausführt und den für eine gekoppelte mobile Computereinrichtung 230 verfügbaren Internetzugang teilt. Entsprechend der folgenden detaillierten Beschreibung kann die Client-Computereinrichtung 250 mit der mobilen Computereinrichtung 230 kommunizieren, um ein Bild 222 einer virtuellen Maschine und den Hypervisor 226 zu empfangen und Netzwerkdaten 224 auszutauschen.
-
Anders als bei der Anordnung aus 2A weist die Client-Computereinrichtung 250 statt eines Typ-1-Hypervisors einen Typ-2-Hypervisor 255 auf. Da der Hypervisor 255 vom „Typ 2” ist, wird der Hypervisor 255 innerhalb des Host-Betriebssystems 260 ausgeführt, und er erfüllt daher die Anforderungen an Ressourcen vom Gast-BS 207, indem er mit dem Host-Betriebssystem 260 statt direkt mit der Hardware 215 kommuniziert.
-
Zusätzlich kann das Speichermedium 245 der mobilen Computereinrichtung 230 entsprechend der Darstellung auch ein Bild des Typ-2-Hypervisors 249 warten. Bei derartigen Ausführungsformen kann die Client-Computereinrichtung 250 den Typ-2-Hypervisor 249 auf der Grundlage einer Übertragung des Hypervisors 226 zwischen der Schnittstelle 235 und der Schnittstelle 217 von der mobilen Computereinrichtung 230 empfangen. Auf diese Weise kann die Client-Computereinrichtung 250 den Typ-2-Hypervisor 255 selbst dann erhalten und ausführen, wenn die Client-Computereinrichtung 250 keinen nativen Hypervisor aufweist. Es wird jedoch darauf hingewiesen, dass der Typ-2-Hypervisor wie der Typ-1-Hypervisor 210 ebenfalls auf einem Speichermedium der Client-Computereinrichtung 250 gewartet werden kann, sodass der Typ-2-Hypervisor 255 vom lokalen Speichermedium in den Arbeitsspeicher geladen wird.
-
Wie bei der in 2A dargestellten Implementierung kann der virtuelle Netzwerktreiber 220 sowohl im Gast-BS 207 als auch im Hypervisor 255 enthalten sein. Zusätzlich kann der virtuelle Netzwerktreiber dagegen im Host-BS 260 enthalten sein. Bei derartigen Ausführungsformen kann das Host-BS 260 während einer Boot-Prozedur der Client-Computereinrichtung 250 initialisiert werden, und der virtuelle Netzwerktreiber 260 kann während der Initialisierung des Host-BS 260 geladen und initialisiert werden. Unabhängig von seiner Anordnung kann der geladene virtuelle Netzwerktreiber 220 auf die oben in Verbindung mit 2A beschriebene Weise arbeiten.
-
3 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 300 zum Teilen des für eine mobile Computereinrichtung verfügbaren Internetzugangs mit einer Client-Computereinrichtung 100. Obwohl die Ausführung des Verfahrens 300 im Folgenden mit Bezug auf die Computereinrichtung 100 beschrieben ist, sind andere geeignete Einrichtungen zur Ausführung des Verfahrens 300 für Fachleute auf diesem Gebiet offensichtlich (z. B. die Computereinrichtungen 200, 250). Das Verfahren 300 kann in Form ausführbarer Anweisungen, die auf einem maschinenlesbaren Speichermedium wie dem Speichermedium 120 gespeichert sind und/oder in Form einer elektronischen Schaltung implementiert sein.
-
Das Verfahren 300 beginnt in Block 305 und fährt mit Block 310 fort, wo die Computereinrichtung 100 ein Bild einer virtuellen Maschine von einem Speichermedium einer mobilen Computereinrichtung empfangen kann. Beispielsweise kann die Computereinrichtung 100 das Bild der virtuellen Maschine von einer Speichereinrichtung der mobilen Einrichtung über die Schnittstelle 115 empfangen.
-
In Block 315 kann die Computereinrichtung 100 anschließend ein Gast-Betriebssystem ausführen, das in dem in Block 310 empfangenen Bild einer virtuellen Maschine enthalten ist. Bei seiner Ausführung kann das Gast-BS mit einem auf der Computereinrichtung 100 ausgeführten Hypervisor kommunizieren. Beispielsweise kann das Gast-BS Ressourcenanforderungen an den Hypervisor bereitstellen, der wiederum Hardwareressourcen an das Gast-BS zuteilen kann.
-
Nachdem das Gast-BS abgerufen und geladen worden ist, kann die Computereinrichtung 100 schließlich in Block 320 Netzwerkdaten über die Hardwareschnittstelle 115 zwischen dem Gast-BS und der mobilen Einrichtung übertragen. Beispielsweise kann ein in der Computereinrichtung 100 ausgeführter virtueller Netzwerktreiber als Vermittler zwischen dem Gast-BS und der Netzwerkhardware der mobilen Computereinrichtung dienen. Auf diese Weise kann die Computereinrichtung 100 den für die mobile Computereinrichtung verfügbaren Internetzugang über das Gast-BS nutzen. Das Verfahren 300 kann anschließend zu Block 325 übergehen, wo das Verhalten 300 anhalten kann.
-
4A und 4B sind Ablaufdiagramme von zwei beispielhaften Verfahren zur Initialisierung der Client-Computereinrichtungen 200, 250 zur Ausführung eines Hypervisors. Obwohl die Ausführung der Verfahren 400, 450 im Folgenden mit Bezug auf die Komponenten der Computereinrichtungen 200 bzw. 250 beschrieben ist, sind für Fachleute auf diesem Gebiet andere geeignete Komponenten für die Ausführung der Verfahren 400, 450 ersichtlich. Die Verfahren 400, 450 können in Form ausführbarer Anweisungen, die auf einem maschinenlesbaren Speichermedium gespeichert sind und/oder in Form von elektronischen Schaltungen implementiert sein.
-
4A ist ein Ablaufdiagramm eines beispielhaften Verfahrens 400 zur Initialisierung einer Client-Computereinrichtung 200 mit einem Typ-1-Hypervisor 210 zum Teilen des für eine mobile Computereinrichtung 230 verfügbaren Internetzugangs. Das Verfahren 400 beginnt in Block 402 und fährt mit Block 404 fort, wo ein Nutzer die Client-Computereinrichtung 200 bootet, indem er beispielsweise eine Einschalttaste der Einrichtung betätigt.
-
In Block 406 beginnt die Client-Computereinrichtung 200 mit dem Laden des Typ-1-Hypervisors 210. Die Client-Computereinrichtung 200 kann beispielsweise auf ein lokales Speichermedium mit dem Hypervisor 210 zugreifen und den Hypervisor 210 in den Arbeitsspeicher laden. Die Client-Computereinrichtung 200 kann anschließend mit der Ausführung des Hypervisors 210 beginnen.
-
In Block 408 ist die Client-Computereinrichtung 200 mit der mobilen Computereinrichtung 230 verbunden. Ein Nutzer kann beispielsweise ein USB-, eSATA-, Firewire oder sonstiges Kabel zwischen der Schnittstelle 217 und der Schnittstelle 235 anschließen. Alternativ dazu kann der Nutzer eine drahtlose Verbindung zwischen den Einrichtungen 200, 230 herstellen, indem beispielsweise beide Einrichtungen über Bluetooth oder eine andere drahtlose Verbindung angeschlossen werden.
-
Wenn der virtuelle Netzwerktreiber 220 im Hypervisor 210 angeordnet werden soll, kann die Client-Computereinrichtung 200 anschließend in Block 410 den virtuellen Netzwerktreiber 220 initialisieren. Nach der Initialisierung im Hypervisor 210 ist der virtuelle Netzwerktreiber 220 bereit für den Austausch von Netzwerkdaten mit der Netzwerkhardware 240 unter Verwendung der Schnittstellen 217, 235. Die Netzwerkhardware 240 kann wiederum die Datenübertragung in das und aus dem Internet steuern.
-
Anschließend kann die Client-Computereinrichtung 200 in Block 412 das Bild 247 der virtuellen Maschine von der mobilen Computereinrichtung 230 empfangen. Beispielsweise kann der Hypervisor 210 die Verbindung zwischen den Schnittstellen 217, 235 erkennen, das Bild 247 der virtuellen Maschine auf das Speichermedium 245 laden und die Übertragung des Bildes 247 zwischen den Schnittstellen 217, 235 initiieren. In Block 414 kann die Client-Computereinrichtung 200, nachdem die Client-Computereinrichtung 200 das Bild 247 empfangen hat, die virtuelle Maschine 205 initialisieren und das Gast-BS 207 laden.
-
Schließlich kann in Block 416, wenn der virtuelle Netzwerktreiber 220 im Gast-BS 207 angeordnet werden soll (d. h., wenn er nicht im Hypervisor 210 angeordnet ist), die Client-Computereinrichtung 200 anschließend den virtuellen Netzwerktreiber 220 im Gast-BS 207 initialisieren. Nach der Initialisierung im Gast-BS 207 ist der virtuelle Netzwerktreiber 220 bereit für den Austausch von Netzwerkdaten mit der Netzwerkhardware 240 unter Verwendung der Schnittstellen 217, 235. Das Verfahren 400 kann anschließend mit Block 418 fortfahren, wo das Verfahren 400 anhält.
-
4B ist ein Ablaufdiagramm eines beispielhaften Verfahrens 450 zur Initialisierung einer Client-Computereinrichtung 250 mit einem Typ-2-Hypervisor 255 zum Teilen des für eine mobile Computereinrichtung 230 verfügbaren Internetzugangs. Das Verfahren 450 beginnt in Block 452 und fährt mit Block 454 fort, wo ein Nutzer die Client-Computereinrichtung 250 bootet.
-
In Block 456 beginnt die Client-Computereinrichtung 250 mit dem Laden des Host-Betriebssystems 260. Beispielsweise kann die Client-Computereinrichtung 250 auf ein lokales Speichermedium mit dem Host-BS 260 zugreifen und anschließend das Host-BS 260 in den Arbeitsspeicher laden. Die Client-Computereinrichtung 250 kann anschließend mit der Ausführung des Host-BS 260 beginnen.
-
In Block 458 ist die Client-Computereinrichtung 250 über eine kabelgebundene oder drahtlose Schnittstelle mit der mobilen Computereinrichtung 230 verbunden. Beispielsweise kann die Schnittstelle ein USB-Kabel, ein eSATA-Kabel, ein Firewire-Kabel oder eine drahtlose Verbindung sein. Anschließend kann dann in Block 460, falls der virtuelle Netzwerktreiber 220 im Host-BS 260 angeordnet sein soll, das Host-BS 260 den virtuellen Netzwerktreiber 220 initialisieren. Nach der Initialisierung des Treibers 220 kann der Treiber 220 anschließend vorbereitet werden, um Daten zwischen den Schnittstellen 217, 235 zu der und von der mobilen Computereinrichtung 230 zu übertragen.
-
In Block 462 bestimmt die Client-Computereinrichtung 250, ob der Hypervisor von einer lokalen Speichereinrichtung oder von der mobilen Computereinrichtung 230 geladen werden soll. Beispielsweise kann die mobile Computereinrichtung 230 bestimmen, ob ein Hypervisor auf einem lokalen Speichermedium vorliegt, und anderenfalls kann das Verfahren 450 zu Block 464 übergehen, wo die Computereinrichtung 250 versuchen kann, einen Typ-2-Hypervisor 249 zu lokalisieren, der auf einem Speichermedium 245 der mobilen Computereinrichtung 230 gewartet wird. Wenn ein derartiger Hypervisor 249 vorgefunden wird, kann die Client-Computereinrichtung 250 anschließend den Typ-2-Hypervisor 249 über die Verbindung zwischen der Schnittstelle 235 und der Schnittstelle 217 abrufen.
-
In Block 466 kann die Computereinrichtung 250 den Typ-2-Hypervisor 255 nach dem Abruf vom lokalen Speichermedium oder von der mobilen Computereinrichtung 230 laden. Beispielsweise kann die Computereinrichtung 250 den Typ-2-Hypervisor 255 in den Arbeitsspeicher laden und die Ausführung des Typ-2-Hypervisors 255 im Host-BS 260 beginnen.
-
Wenn der virtuelle Netzwerktreiber 220 im Hypervisor 255 angeordnet werden soll, kann die Client-Computereinrichtung 250 anschließend in Block 468 den virtuellen Netzwerktreiber 220 initialisieren. Nach der Initialisierung im Hypervisor 255 ist der virtuelle Netzwerktreiber 220 bereit für den Austausch von Netzwerkdaten mit der Netzwerkhardware 240 unter Verwendung der Schnittstellen 217, 235. Die Netzwerkhardware 240 kann wiederum die Datenübertragung in das und aus dem Internet steuern.
-
Anschließend kann die Client-Computereinrichtung 250 in Block 470 das Bild 247 der virtuellen Maschine von der mobilen Computereinrichtung 230 empfangen. Beispielsweise kann der Hypervisor 255 die Verbindung zwischen den Schnittstellen 217, 235 erkennen, das Bild 247 der virtuellen Maschine auf das Speichermedium 245 laden und die Übertragung des Bildes 247 zwischen den Schnittstellen 217, 235 initiieren. In Block 472 kann die Client-Computereinrichtung 250, nachdem die Client-Computereinrichtung 250 das Bild 247 empfangen hat, die virtuelle Maschine 205 initialisieren, das Gast-BS 207 in den Arbeitsspeicher laden und mit der Ausführung des Gast-BS 207 beginnen.
-
Schließlich kann in Block 474, wenn der virtuelle Netzwerktreiber 220 im Gast-BS 207 angeordnet werden soll (d. h., wenn er nicht im Host-BS 260 oder im Hypervisor 255 angeordnet ist), die Client-Computereinrichtung 250 anschließend den virtuellen Netzwerktreiber 220 im Gast-BS 207 initialisieren. Nach der Initialisierung im Gast-BS 207 ist der virtuelle Netzwerktreiber 220 bereit für den Austausch von Netzwerkdaten mit der Netzwerkhardware 240 unter Verwendung der Schnittstellen 217, 235. Das Verfahren 400 [sic] kann anschließend mit Block 476 fortfahren, wo das Verfahren 450 anhält.
-
5A und 5B sind Ablaufdiagramme von beispielhaften Verfahren für die Verwendung eines virtuellen Netzwerktreibers 220 zum Senden bzw. Empfangen von Netzwerkdaten. Obwohl die Ausführung der Verfahren 500, 550 im Folgenden mit Bezug auf die Komponenten der Computereinrichtungen 200 bzw. 250 beschrieben ist, sind für Fachleute auf diesem Gebiet andere geeignete Komponenten für die Ausführung der Verfahren 500, 550 ersichtlich. Die Verfahren 500, 550 können in Form ausführbarer Anweisungen, die auf einem maschinenlesbaren Speichermedium gespeichert sind und/oder in Form von elektronischen Schaltungen implementiert sein.
-
5A ist ein Ablaufdiagramm eines beispielhaften Verfahrens 500 zur Übertragung von in einem Gast-BS 207 einer Client-Computereinrichtung 200, 250 erzeugten Paketen unter Verwendung eines virtuellen Netzwerktreibers 220. Das Verfahren 500 beginnt in Block 502 und fährt mit Block 504 fort, wo die Computereinrichtung 200, 250 eine Anforderung zur Übertragung eines Netzwerkpakets mit Ursprung im Gast-BS 207, das im Hypervisor 210, 255 ausgeführt wird, erhalten kann. Beispielsweise kann eine Anwendung oder ein anderer im Gast-BS 207 ausgeführter Prozess versuchen, ein Paket an eine spezifische Internet-Protocol-(IP)-Adresse im Internet zu übertragen.
-
Wie vorstehend detailliert beschrieben ist, kann der virtuelle Netzwerktreiber 220 entweder im Gast-BS 207, im Hypervisor 210, 255 oder im Host-BS 260 angeordnet sein. In Abhängigkeit von der Anordnung des Treibers 220 kann in Block 506 das Gast-BS 207, der Hypervisor 210, 255 oder das Host-BS 260 das Netzwerkpaket in einen vom Treiber 220 überwachten Pufferspeicher ablegen. Im Betrieb überwacht der virtuelle Netzwerkspeicher 220 den Pufferspeicher auf dort abgelegte Pakete, und er liest Pakete aus dem Puffer unter Verwendung eines vorgegebenen Abarbeitungsverfahrens aus (z. B. First In First Out). Dementsprechend liest der virtuelle Netzwerktreiber 220 in Block 508 das abgelegte Paket aus dem Pufferspeicher. In Block 510 überträgt der virtuelle Netzwerktreiber 220 nach dem Auslesen des Pakets das Paket über die Verbindung zwischen den Schnittstellen 217, 235. Schließlich überträgt in Block 512 die mobile Computereinrichtung 230 nach dem Empfang des Pakets in der Schnittstelle 235 das Paket unter Verwendung der Netzwerkhardware 240 zum vorgesehenen Ziel. Das Verfahren 500 geht dann zu Block 514 über, wo das Verfahren 500 anhält.
-
5B ist ein Ablaufdiagramm eines beispielhaften Verfahrens 550 zum Empfang von für ein Gast-BS 207 einer Client-Computereinrichtung 200, 250 vorgesehenen Paketen unter Verwendung eines virtuellen Netzwerktreibers 220. Das Verfahren 550 beginnt in Block 552 und fährt mit Block 554 fort, wo die Netzwerkhardware 240 der mobilen Computereinrichtung 230 ein von einer hinsichtlich der mobilen Computereinrichtung 230 externen Quelle eingehendes Paket empfängt. In Block 556 erkennt der virtuelle Netzwerktreiber 220 das eingehende Paket, und in Block 558 leitet er das Paket über die Verbindung zwischen der Schnittstelle 235 und der Schnittstelle 217 weiter. In Block 560 erkannt dann der in der Computereinrichtung 200, 250 ausgeführte Hypervisor 210, 255 das eingehende Paket und identifiziert die virtuelle Maschine 205 für den Empfang des Pakets. Wenn beispielsweise im Hypervisor 210, 255 mehrere virtuelle Maschinen ausgeführt werden, kann der Hypervisor den vorgesehenen Empfänger des Pakets zum Beispiel auf der Basis der Ziel-IP-Adresse des Pakets erkennen. Nach der Identifizierung des vorgesehenen Empfängers kann der Hypervisor 210, 255 in Block 562 das Paket an die zutreffende virtuelle Maschine und insbesondere an das in der virtuellen Maschine ausgeführte Gast-BS 207 weiterleiten. Das Verfahren 550 kann schließlich zu Block 564 übergehen, wo das Verhalten 550 anhalten kann.
-
Entsprechend der vorstehenden Beschreibung ermöglichen es hierin beschriebene beispielhafte Ausführungsformen einem Nutzer, auf ein angepasstes Bild einer virtuellen Maschine zuzugreifen, das auf einer mobilen Computereinrichtung gewartet wird. Auf diese Weise kann ein Nutzer einfach eine angepasste Umgebung transportieren und von einer Client-Einrichtung auf diese Umgebung zugreifen, Weiter ermöglichen beispielhafte Ausführungsformen durch die Virtualisierung der auf der mobilen Einrichtung verfügbaren Netzwerkhardware auch den Internetzugang auf dem Client, auch wenn der Client keine nativen Netzwerkfähigkeiten aufweist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-