-
Hintergrund
-
In einigen Fällen ist es wünschenswert, dass eine elektronische Vorrichtung mehrere Betriebssysteme betreibt. Zum Beispiel können einige Softwareprogramme darauf beschränkt sein, auf einem bestimmten Betriebssystem betrieben zu werden, und andere Softwareprogramme können darauf beschränkt sein, auf einem unterschiedlichen Betriebssystem betrieben zu werden. Verschiedene Betriebsumgebungen können für separate Funktionen wünschenswert sein, z. B. das Betreiben von zwei gleichen Typen von Betriebssystemen, wobei jedes für einen unterschiedlichen Zweck verwendet wird. Zum Beispiel kann ein Betriebssystem zur geschäftlichen Verwendung verwendet werden und das andere kann zur persönlichen Verwendung verwendet werden. Eine Softwareimplementierung einer elektronischen Vorrichtung, wie z. B. einer virtuellen Maschine, kann verwendet werden, um ein Betriebssystem zu betreiben. Um zu ermöglichen, dass mehrere Betriebssysteme auf einer elektronischen Vorrichtung laufen, können mehrere virtuelle Maschinen auf der elektronischen Vorrichtung ausgeführt werden, wobei jede virtuelle Maschine einem unterschiedlichen Betriebssystem zugeordnet ist.
-
Kurze Beschreibung der Zeichnungen
-
In den beiliegenden Zeichnungen beziehen sich gleiche Bezugszeichen auf ähnliche Komponenten oder Blöcke. Die Zeichnungen beschreiben beispielhafte Ausführungsbeispiele. Schritte, die in den Zeichnungen gezeigt sind, können in jeglicher Reihenfolge ausgeführt werden. Die nachfolgende, detaillierte Beschreibung nimmt Bezug auf die Zeichnungen, in denen:
-
1 ein Blockdiagramm ist, das ein Beispiel eines Rechensystems darstellt.
-
2 ein Blockdiagramm ist, das ein Beispiel einer Konfiguration einer virtuellen Maschine darstellt.
-
3 ein Flussdiagramm ist, das ein Beispiel eines Verfahrens zum Verwalten gemeinschaftlich verwendeter Daten unter Verwendung einer virtuellen Maschine darstellt.
-
4 ein Blockdiagramm ist, das ein Beispiel eines Rechensystems darstellt.
-
5 ein Blockdiagramm ist, das ein Beispiel eines Rechensystems darstellt.
-
6 ein Blockdiagramm ist, das ein Beispiel zum Verwalten gemeinschaftlich verwendeter Daten unter Verwendung einer virtuellen Maschine darstellt.
-
Detaillierte Beschreibung
-
Virtuelle Maschinen können verwendet werden, um einer elektronischen Vorrichtung zu erlauben, mehrere Betriebssysteme zu betreiben. Zum Beispiel kann ein Prozessor eine erste virtuelle Maschine betreiben, um eine erste Betriebssystemumgebung zu betreiben, und eine zweite virtuelle Maschine, um eine zweite Betriebssystemumgebung zu betreiben, wie z. B. ein unterschiedliches Betriebssystem oder eine separate Implementierung des ersten Betriebssystems. Bei einigen Implementierungen kann jede virtuelle Maschine ihre eigene Speicherungsvorrichtung oder einen Abschnitt einer Speicherungsvorrichtung aufweisen, der derselben zugeordnet ist, zum Speichern von Daten, die sich auf die bestimmte, virtuelle Maschine beziehen. In einigen Fällen kann es wünschenswert sein, dass Daten über mehrere virtuelle Maschinen gemeinschaftlich verwendet werden. Zum Beispiel kann ein Benutzer eine Musikdownloadsoftware auf einer virtuellen Maschine zur privaten Verwendung auf einer elektronischen Vorrichtung haben, und der Benutzer kann eine zweite virtuelle Maschine auf der elektronischen Vorrichtung zur geschäftlichen Verwendung haben. Der Benutzer möchte möglicherweise Musik von der virtuellen Maschine zur privaten Verwendung herunterladen, möchte jedoch vielleicht, dass die heruntergeladene Musik sowohl auf der virtuellen Maschine, die für eine private Verwendung zweckgebunden ist, als auch für die virtuelle Maschine, die für eine geschäftliche Verwendung zweckgebunden ist, verfügbar ist.
-
Einige Implementierungen einer virtuellen Maschine ermöglichen, dass Daten zwischen isolierten virtuellen Maschinen auf einer elektronischen Vorrichtung gemeinschaftlich verwendet werden. Zum Beispiel kann eine Datenspeicherung, die einer ersten virtuellen Maschine zugeordnet ist, auf eine separate Datenspeicherung oder einen Teil einer Datenspeicherung abgebildet werden, die einer zweiten virtuellen Maschine zugeordnet ist.
-
Ein solches System kann komplizierte Verfahren zum Synchronisieren der Daten zwischen den separaten Speicherungen mit sich bringen. Zusätzlich dazu, da mehrere virtuelle Maschinen auf die Daten zugreifen, kann jegliche Datenverarbeitung, wie z. B. Verschlüsselungs- oder Sicherungsfunktionen, eine weitere Synchronisierung mit sich bringen. Zum Beispiel, wenn eine der virtuellen Maschinen gespeicherte Daten verschlüsselt, kann der Entschlüsselungsschlüssel zu der anderen virtuellen Maschine gesendet werden, zur Verwendung beim Zugreifen auf die verschlüsselten Daten. In einigen Fällen werden Daten gemeinschaftlich zwischen virtuellen Maschinen verwendet, durch Speichern von Daten in einem gemeinschaftlich verwendeten Datenlager, wie z. B. in einem entfernten Lager, das über ein Netz zugreifbar ist, oder auf eine gemeinschaftlich verwendeten Speicherung, die der elektronischen Vorrichtung zugeordnet ist, wie z. B. einem gemeinschaftlich verwendeten Laufwerk eines Universal Serial Bus (USB; universeller, serieller Bus). Da wiederum vielleicht keine virtuelle Maschine verantwortlich für die Daten ist, kann die Konfiguration eine komplexe Synchronisierung zum Bestimmen mit sich bringen, wann und wie Datenverarbeitungsfunktionen ausgeführt werden sollen sowie welche virtuelle Maschine den jeweiligen Prozess ausführen sollte.
-
Bei einem Ausführungsbeispiel speichert und verwaltet eine virtuelle Verwaltungsmaschine gemeinschaftlich verwendete Daten für andere virtuelle Maschinen, die auf einer elektronischen Vorrichtung laufen. Zum Beispiel kann die virtuelle Verwaltungsmaschine Daten speichern, die von einer zweiten virtuellen Maschine empfangen werden und kann die Daten wiedergewinnen, wie z. B. zum Senden zu der zweiten virtuellen Maschine oder zu einer dritten virtuellen Maschine, die auf der elektronischen Vorrichtung ausgeführt wird. Die virtuelle Verwaltungsmaschine kann gespeicherte Daten derart verwalten, dass diese unabhängig von virtuellen Maschinen verwaltet werden, die die Daten speichern oder auf diese zugreifen. Zum Beispiel kann die virtuelle Verwaltungsmaschine Datenverarbeitungsdienste derart ausführen, wie z. B. Synchronisierung, Verschlüsselung und Datensicherung, dass andere virtuelle Maschinen diese Prozesse nicht anfordern und sich nicht bewusst sind, dass diese Prozesse ausgeführt werden.
-
Das Verwenden einer virtuellen Verwaltungsmaschine zum Verwalten von Daten erlaubt, dass Datenverwaltungsfunktionen von den individuellen, virtuellen Maschinen getrennt werden, die mit der virtuellen Verwaltungsmaschine kommunizieren, um Daten zu speichern und auf diese zuzugreifen. Durch Trennen sowohl der gespeicherten Daten als auch der Datenverarbeitung, die den gespeicherten Daten zugeordnet ist, von anderen virtuellen Maschinen, erlaubt ein solches System eine effizientere Datenverwaltung. Zum Beispiel können gespeicherte Daten durch die virtuelle Verwaltungsmaschine gesichert werden anstatt durch mehrere virtuelle Maschinen gesichert zu werden. Ein solches System kann erlauben, dass Daten ohne eine Kommunikation zwischen den virtuellen Maschinen verwaltet werden, um die Prozesse zu synchronisieren, wie z. B. eine Kommunikation, die sich darauf bezieht, welche virtuelle Maschine einen Prozess ausführen sollte und ob dieser ausgefüht wurde. Das Verwalten der Daten getrennt von jeder individuellen virtuellen Maschine macht die gespeicherten Daten besser transportierbar für unterschiedliche Plattformen, da die Daten in einem gewissen Fall an einem einzelnen Ort gespeichert sein können. Die virtuelle Verwaltungsmaschine selbst kann zu einer unterschiedlichen elektronischen Vorrichtung bewegt werden, wodurch ermöglicht wird, dass Datenverwaltungsfunktionen mit den Daten bewegt werden. Zusätzlich dazu kann es das Konsolidieren von Datenverwaltungsfunktionen mit einer virtuellen Verwaltungsmaschine leichter machen, Datenverwaltungstaktiken zu aktualisieren. Zum Beispiel kann zum Aktualisieren, wo Daten gesichert werden, die virtuelle Verwaltungsmaschine aktualisiert werden, ohne auch die Art und Weise zu aktualisieren, wie andere virtuelle Maschinen die Daten handhaben.
-
1 ist ein Blockdiagramm, das ein Beispiel eines Rechensystems 100 darstellt. Das Rechensystem 100 kann z. B. eine Speicherung 104, einen Prozessor 106 und ein maschinenlesbares Speicherungsmedium 108 umfassen. Die Speicherung 104 kann jegliche geeignete Speicherung sein, wie z. B. ein flüchtiger oder nichtflüchtiger Speicher. Die Speicherung 104 kann z. B. ein Festplattenlaufwerk, Direktzugriffsspeicher oder Flashlaufwerk sein. Die Speicherung 104 kann verwendet werden, um Daten zu speichern, die von einer virtuellen Maschine empfangen werden, und die Daten können aus der Speicherung 104 wiedergewonnen werden, um zu einer virtuellen Maschine gesendet zu werden.
-
Das maschinenlesbare Speicherungsmedium 108 kann jegliche elektronische, magnetische, optische oder andere physische Speicherungsvorrichtung sein, die ausführbare Anweisungen oder andere Daten speichert (z. B. ein Festplattenlaufwerk, Direktzugriffsspeicher, Flashspeicher etc.). Bei einer Implementierung sind das maschinenlesbare Speicherungsmedium 108 und die Speicherung 104 in dieselbe Speicherung kombiniert. Das maschinenlesbare Speicherungsmedium 108 kann Anweisungen umfassen, die durch den Prozessor 106 ausführbar sind, wie z. B. Anweisungen, die virtuellen Maschinen zugeordnet sind. Das maschinenlesbare Speicherungsmedium 108 kann Anweisungen für jegliche Anzahl von virtuellen Maschinen umfassen. Zum Beispiel kann das maschinenlesbare Speicherungsmedium 108 Anweisungen umfassen, die einer virtuellen Verwaltungsmaschine 110 und einer zweiten virtuellen Maschine 112 zugeordnet sind. Bei einer Implementierung umfasst das maschinenlesbare Speicherungsmedium 108 Anweisungen für zusätzliche virtuelle Maschinen. Zum Beispiel kann die elektronische Vorrichtung 102 ein erstes Betriebssystem betreiben, durch Ausführen von Anweisungen, die der zweiten virtuellen Maschine 112 zugeordnet sind, und ein zweites Betriebssystem, durch Ausführen von Anweisungen, die einer unterschiedlichen virtuellen Maschine zugeordnet sind.
-
Die virtuelle Verwaltungsmaschine 110 und die zweite virtuelle Maschine 112 können jegliche geeigneten, virtuellen Anwendungen sein. Bei einer Implementierung können sowohl Anweisungen für die zweite virtuelle Maschine 112 als auch die virtuelle Verwaltungsmaschine 110 ausgeführt werden. Zum Beispiel kann ein Benutzer mit der zweiten virtuellen Maschine 112 in Wechselwirkung treten und die virtuelle Verwaltungsmaschine 110 kann im Hintergrund ausgeführt werden, um Daten für die zweite virtuelle Maschine 112 zu verwalten. Bei einer Implementierung führt die virtuelle Verwaltungsmaschine 110 andere Funktionen zusätzlich zum Speichern, Zugreifen auf und Verwalten von Daten aus, die in der Speicherung 104 gespeichert sind.
-
Das maschinenlesbare Speicherungsmedium 108 kann Anweisungen umfassen, die der virtuellen Verwaltungsmaschine 110 zum Verwalten von Daten zugeordnet sind. Zum Beispiel kann das maschinenlesbare Speicherungsmedium 108 Anweisungen umfassen, die der virtuellen Verwaltungsmaschine 110 zugeordnet sind, um Daten von einer anderen virtuellen Maschine zu empfangen, die auf dem Prozessor 106 ausgeführt wird, die Daten zu speichern und die gespeicherten Daten unabhängig von anderen virtuellen Maschinen zu steuern, die auf dem Prozessor 106 ausgeführt werden, wobei das Steuern der gespeicherten Daten das Ausführen von Datenverarbeitungsaktivitäten an den Daten aufweist, ohne dass sich die anderen virtuellen Maschinen darüber bewusst sind, die auf dem Prozessor 106 ausgeführt werden. Die virtuelle Verwaltungsmaschine 110 kann ferner Anweisungen umfassen, auf die gespeicherten Daten zuzugreifen und die zugegriffenen Daten zu einer anderen virtuellen Maschine zu übertragen, die auf dem Prozessor 106 ausgeführt wird.
-
Der Prozessor 106 kann jeglicher geeignete Prozessor sein. Zum Beispiel kann der Prozessor 106 eine oder mehrere zentrale Verarbeitungseinheiten (CPUs), halbleiterbasierte Mikroprozessoren und/oder andere Vorrichtungen sein, die geeignet sind zur Wiedergewinnung und Ausführung von Anweisungen, die in einem maschinenlesbaren Speicherungsmedium 108 gespeichert sind. Der Prozessor 106 kann Anweisungen abrufen, decodieren und ausführen, die in dem maschinenlesbaren Speicherungsmedium 108 gespeichert sind, um die Funktionalität zu implementieren, die nachfolgend detailliert beschrieben ist. Als Alternative oder zusätzlich zum Abrufen, Decodieren und Ausführen von Anweisungen kann der Prozessor 106 eine oder mehrere integrierte Schaltungen (ICs) oder andere elektronische Schaltungen umfassen, die eine Mehrzahl von elektronischen Komponenten zum Ausführen der nachfolgend beschriebenen Funktionalität aufweisen.
-
Bei einer Implementierung ist der Prozessor 106 in der Lage, mehrere virtuelle Maschinen zu betreiben. Zum Beispiel kann der Prozessor 106 das erste Betriebssystem unter Verwendung der zweiten virtuellen Maschine 112 booten. Der Prozessor 106 kann das erste Betriebssystem beenden und ein zweites Betriebssystem unter Verwendung einer anderen virtuellen Maschine booten. Bei einer Implementierung führt der Prozessor 106 die virtuelle Verwaltungsmaschine 110 aus, um Daten zu verwalten, während eine andere virtuelle Maschine, wie z. B. die zweite virtuelle Maschine 112, läuft.
-
2 ist ein Blockdiagramm, das ein Beispiel einer Virtuelle-Maschine-Konfiguration 200 darstellt. Die Virtuelle-Maschine-Konfiguration 200 kann die virtuelle Verwaltungsmaschine 110 umfassen, die mit der Speicherung 104 kommuniziert. Die virtuelle Verwaltungsmaschine 110 kann ferner mit anderen virtuellen Maschinen kommunizieren, wie z. B. der zweiten virtuellen Maschine 112 und einer dritten virtuellen Maschine 202, um Daten zu speichern für und Daten zu senden zu den anderen virtuellen Maschinen, die auf dem Prozessor 106 ausgeführt werden. Die virtuelle Verwaltungsmaschine 110 kann mit jeglicher Anzahl von virtuellen Maschinen kommunizieren, die auf dem Prozessor 106 laufen. In einigen Fällen verwaltet die virtuelle Verwaltungsmaschine 110 Daten für eine Teilmenge von virtuellen Maschinen, die in der Lage sind, auf dem Prozessor 106 ausgeführt zu werden. Der Prozessor 106 kann mehrere virtuelle Verwaltungsmaschinen betreiben, wobei jede virtuelle Verwaltungsmaschine Daten für eine Teilmenge von anderen virtuellen Maschinen verwaltet. Bei einer Implementierung können die zweite virtuelle Maschine 112 und die dritte virtuelle Maschine 202 gemeinschaftlich verwendete Informationen unter Verwendung der virtuellen Verwaltungsmaschine 110 speichern oder können Informationen gemeinschaftlich verwenden, die für die bestimmte virtuelle Maschine verfügbar sein sollen. Zum Beispiel kann einem Benutzer eine Option gegeben werden, Informationen in einer gemeinschaftlich verwendeten Speicherung oder in einer Speicherung oder einen Teil einer Speicherung zu speichern, die für ein Betriebssystem einer bestimmten virtuellen Maschine zweckgebunden ist.
-
3 ist ein Flussdiagramm, das ein Beispiel eines Verfahrens 300 zum Verwalten gemeinschaftlich verwendeter Daten unter Verwendung einer virtuellen Maschine darstellt. Die virtuelle Verwaltungsmaschine 110 kann Daten speichern und wiedergewinnen und gespeicherte Daten verwalten. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Daten aus der dritten virtuellen Maschine 202 zur Speicherung in der Speicherung 104 empfangen. Die zweite virtuelle Maschine 112 oder die dritte virtuelle Maschine 202 kann dann mit der virtuellen Verwaltungsmaschine 110 kommunizieren, um die gespeicherten Daten aus der Speicherung 104 wiederzugewinnen.
-
In einigen Fällen kann die virtuelle Verwaltungsmaschine 110 die Daten in der Speicherung 104 verwalten. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Datenverarbeitungsdienste ausführen, wie z. B. Verschlüsselung, Synchronisierung oder Sicherung von Daten, die in der Speicherung 104 gespeichert sind. Die virtuelle Verwaltungsmaschine 110 kann die Daten ohne das Wissen der zweiten virtuellen Maschine 112 und der dritten virtuellen Maschine 202 verwalten. Zum Beispiel fordern die anderen virtuellen Maschinen vielleicht keine Datenverarbeitungsdienste oder sind sich der Details nicht bewusst.
-
Beginnend bei Block 302 und weiter zu Block 304 empfängt die virtuelle Verwaltungsmaschine 110 Daten von einer anderen virtuellen Maschine, die auf dem Prozessor 106 ausgeführt wird. Die virtuelle Verwaltungsmaschine 110 kann die Daten von jeglicher geeigneten, virtuellen Maschine empfangen, wie z. B. der zweiten virtuellen Maschine 112 oder der dritten virtuellen Maschine 202. Die virtuelle Verwaltungsmaschine 110 kann einige Daten von der zweiten virtuellen Maschine 112 zur Speicherung und einige Daten von der dritten virtuellen Maschine 202 zur Speicherung in der Speicherung 104 empfangen. Die empfangenen Daten können jegliche geeigneten Daten sein. Zum Beispiel können die Daten Musik-, Video-, Textverarbeitungs- oder Bilddateien sein. Die virtuelle Verwaltungsmaschine 110 kann die Daten auf jegliche geeignete Weise empfangen, wie z. B. über ein Netzwerk oder eine direkte Kommunikationsschnittstelle.
-
Weiter zu Block 306 speichert die virtuelle Verwaltungsmaschine 110 die Daten, wie z. B. in der Speicherung 104. Die virtuelle Verwaltungsmaschine 110 kann die Daten auf jegliche geeignete Weise speichern. Bei einer Implementierung verwaltet die virtuelle Verwaltungsmaschine 110 die Daten derart, dass andere virtuelle Maschinen den Ort in der Speicherung 104 nicht kennen, wo die Daten gespeichert sind. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 eine Abbildung speichern, um einen Ort abzubilden, wo die Daten tatsächlich gespeichert sind, im Vergleich zu einem Ort, wo es für andere virtuelle Maschinen erscheint, dass diese gespeichert sind. Die Abbildung kann es der virtuellen Verwaltungsmaschine 110 erlauben, Daten in der Speicherung 104 zu bewegen, wie z. B. Daten zu defragmentieren, ohne das Wissen von anderen virtuellen Maschinen, die auf die Daten zugreifen.
-
Weiter bei Block 308 verwaltet die virtuelle Verwaltungsmaschine 110 die gespeicherten Daten unabhängig von anderen virtuellen Maschinen, die auf dem Prozessor 106 ausgeführt werden. Zum Beispiel kann der Prozessor 106 Anweisungen ausführen, die der virtuellen Verwaltungsmaschine 110 zugeordnet sind, um gespeicherte Daten zu verwalten. Das Steuern der gespeicherten Daten kann z. B. das Bestimmen umfassen, wo Daten in der Speicherung 104 gespeichert werden sollen und Daten wiedergewonnen werden sollen. Bei einer Implementierung umfasst das Verwalten der gespeicherten Daten das Ausführen von Datenverarbeitungsdiensten an den Daten ohne das Wissen der anderen virtuellen Maschinen, die auf dem Prozessor 106 ausgeführt werden. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Datenverarbeitungsdienste ohne eine Anfrage von einer anderen virtuellen Maschine initiieren und eine andere virtuelle Maschine ist sich der Datenverarbeitungsdienste möglicherweise nicht bewusst. Die Datenverarbeitungsdienste können an jeder Stelle ausgeführt werden, wie z. B. vor dem Speichern von Daten in der Speicherung 104, nach dem Wiedergewinnen von Daten aus der Speicherung 104, um sie zu einer virtuellen Maschine zu senden, oder während andere Aktivitäten, die sich nicht auf eine Datenspeicherung beziehen, durch eine andere virtuelle Maschine ausgeführt werden. Die virtuelle Verwaltungsmaschine 110 kann jegliche geeigneten Datenverarbeitungsdienste ausführen, wie z. B. Datenverarbeitungsaktivitäten, die sich auf das Synchronisieren, Sichern, Defragmentieren oder Speichern von Daten beziehen.
-
Die virtuelle Verwaltungsmaschine 110 kann Datenverarbeitungsdienste ausführen, die sich auf das Sichern von Daten beziehen, die in der Speicherung 104 gespeichert sind. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 die Verschlüsselung für Daten verwalten, wie z. B. Verschlüsseln von Daten, bevor sie in der Speicherung 104 gespeichert werden, und Entschlüsseln der Daten nach dem Wiedergewinnen der Daten aus der Speicherung 104 vor dem Senden derselben zu einer anderen virtuellen Maschine. Die virtuelle Verwaltungsmaschine 110 kann Informationen über Verschlüsselungs- und Entschlüsselungsschlüssel beibehalten und darüber, welche Elemente verschlüsselt werden sollen. Bei einer Implementierung löscht die virtuelle Verwaltungsmaschine 110 Daten sicher aus der Speicherung 104, wenn die Daten gelöscht werden, um eine größere Sicherheit bereitzustellen. Zum Beispiel kann die zweite virtuelle Maschine 112 Informationen zu der virtuellen Verwaltungsmaschine 110 senden, um ein bestimmtes Datenstück zu löschen, das in der Speicherung 104 gespeichert ist, und die virtuelle Verwaltungsmaschine 110 kann bestimmen, dass die Daten sicher gelöscht sein sollten. Die virtuelle Verwaltungsmaschine 110 kann dann Sicherheitsscans ausführen, wie z. B. Virenscans, an den gespeicherten Daten. Die virtuelle Verwaltungsmaschine 110 kann z. B. Indexierungsdienste und Verhaltensoptimierungen ausführen, wie z. B. Vorauslese- und Zurückschreibzwischenspeicherung für Daten, die gespeichert sind in und wiedergewonnen werden aus der Speicherung 104.
-
Bei einer Implementierung führt die virtuelle Verwaltungsmaschine 110 Datenverarbeitungsdienste in Bezug auf die Sicherung von Daten aus, die in der Speicherung 104 gespeichert sind. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 bestimmen, warm Daten gesichert werden sollen, oder einen Datensicherungsort. Die virtuelle Verwaltungsmaschine 110 kann bestimmen, welche Daten in der Speicherung 104 gesichert werden sollten. Die virtuelle Verwaltungsmaschine 110 kann periodisch Daten sichern, z. B. durch Senden der Daten über ein Netzwerk zu einem entfernten Speicherungsort oder kann Daten nach dem Speichern derselben in der Speicherung 104 sichern.
-
Bei einer Implementierung führt die virtuelle Verwaltungsmaschine 110 Datenverarbeitungsdienste aus, die sich auf das Synchronisieren der Daten beziehen, die in der Speicherung 104 gespeichert sind. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Daten mit einem entfernten Speicherungsort synchronisieren, um zu bestimmen, welche Informationen gesichert werden sollten. Die virtuelle Verwaltungsmaschine 110 kann Daten zwischen virtuellen Maschinen synchronisieren. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Daten von einer virtuellen Maschine empfangen, die für andere virtuelle Maschinen oder eine Teilmenge anderer virtuellen Maschinen nicht zugreifbar sein sollten. Die virtuelle Verwaltungsmaschine 110 kann Informationen empfangen, die anzeigen, dass Daten gelöscht werden sollten, sodass sie für eine bestimmte virtuelle Maschine nicht mehr zugreifbar sind, aber auf anderen virtuellen Maschinen verfügbar bleiben.
-
Bei einer Implementierung führt die virtuelle Maschine 110 eine Datenverarbeitung basierend auf einer virtuellen Maschine aus, die den Daten zugeordnet ist, wie z. B. der virtuellen Maschine, die die Daten speichert oder wiedergewinnt. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Daten verschlüsseln, die von einer bestimmten virtuellen Maschine empfangen werden, wie z. B. der zweiten virtuellen Maschine 112, wobei Daten, die von anderen virtuellen Maschinen empfangen werden, nicht verschlüsselt werden, oder die virtuelle Verwaltungsmaschine kann ein stärkeres Verschlüsselungsverfahren oder ein geschütztes Verschlüsselungsverfahren an Daten verwenden, die von einer bestimmten virtuellen Maschine empfangen werden. Als anderes Beispiel kann die virtuelle Verwaltungsmaschine 110 eine Echtzeitindexierung für Daten verwenden, die von der zweiten virtuellen Maschine 112 empfangen werden, und keine Indexierung für Daten, die von der dritten virtuellen Maschine 202 empfangen werden. Die virtuelle Verwaltungsmaschine 110 kann bestimmen, welche Daten in der Speicherung 104 einer bestimmten virtuellen Maschine zugeordnet sind, z. B. basierend darauf, welche virtuelle Maschine die Daten zu der virtuellen Verwaltungsmaschine 110 zur Speicherung gesendet hat.
-
4 ist ein Blockdiagramm, das ein Beispiel eines Rechensystems 400 darstellt. Das Rechensystem 400 umfasst die elektronische Vorrichtung 102 mit dem Prozessor 106 und dem maschinenlesbaren Speicherungsmedium 108, das Anweisungen umfasst, die der virtuellen Verwaltungsmaschine 110, der zweiten virtuellen Maschine 112 und der dritten virtuellen Maschine 202 zugeordnet sind. Die Speicherung 104 umfasst Daten 402, die der zweiten virtuellen Maschine zugeordnet sind, und Daten 404, die der dritten virtuellen Maschine 202 zugeordnet sind. Die Daten 402 werden unter Verwendung eines Verfahrens A verschlüsselt, und die Daten 404 werden unter Verwendung eines Verfahrens B verschlüsselt. Bei einer Implementierung empfängt die virtuelle Verwaltungsmaschine 110 Einstellinformationen, die sich auf das Ausführen von Datenverarbeitungsdiensten beziehen, und führt Datenverarbeitungsdienste basierend auf der Einstellung aus. 5 ist ein Blockdiagramm, das ein Beispiel eines Rechensystems 500 darstellt. Das Rechensystem 500 zeigt die elektronische Vorrichtung 102 mit der Speicherung 104, dem Prozessor 106 und dem maschinenlesbaren Speicherungsmedium 108. Die Speicherung 104 umfasst Datenverarbeitungseinstellungen 502. Bei einer Implementierung sind die Datenverarbeitungseinstellungen 502 in dem maschinenlesbaren Speicherungsmedium 108, einer anderen Speicherung innerhalb der elektronischen Vorrichtung 102 oder einer entfernten Datenbank gespeichert, mit der die virtuelle Verwaltungsmaschine 110 über ein Netzwerk kommuniziert. Die Datenverarbeitungseinstellungen 502 können auf jegliche geeignete Weise empfangen werden. Zum Beispiel können die Einstellungen über eine Benutzereingabe empfangen werden und gespeichert werden, wie z. B. in der Speicherung 104, für eine spätere Wiedergewinnung durch die virtuelle Verwaltungsmaschine 110. Bei einer Implementierung gibt ein Administrator die Einstellungen derart ein, dass die Einstellungen für die virtuellen Maschinen mehrerer Benutzer gelten. Bei einer Implementierung werden die Einstellungen über einen entfernten Zugriff auf die elektronische Vorrichtung 102 empfangen. Zum Beispiel kann ein Informationstechnikadministrator Informationen zu mehreren elektronischen Benutzervorrichtungen senden, sodass eine virtuelle Verwaltungsmaschine, die jeder elektronischen Vorrichtung zugeordnet ist, Informationen über aktualisierte Einstellungen empfängt.
-
Die Datenverarbeitungseinstellungen 502 können jegliche geeigneten Konfigurationsinformationen sein. Die Datenverarbeitungseinstellungen 502 können Informationen umfassen, z. B. darüber, welche Datenverarbeitungsdienste ausgeführt werden sollen, wie sie ausgeführt werden sollen oder wann sie ausgeführt werden sollen. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 eine Einstellung empfangen, die anzeigt, dass die Daten in der Speicherung 104 wöchentlich gesichert werden sollten. Die Datenverarbeitungseinstellungen 502 können z. B. Informationen darüber umfassen, ob Daten verschlüsselt oder Daten sicher gelöscht werden sollen. Bei einer Implementierung umfassen die Datenverarbeitungseinstellungen 502 Einstellungen, die sich auf den Typ einer Datenverarbeitung beziehen, der an Daten ausgeführt werden soll, die einer bestimmten virtuellen Maschine zugeordnet sind, wie z. B. Einstellungen, die sich auf eine Datenverarbeitung für Daten beziehen, die von der zweiten virtuellen Maschine 112 empfangen werden, und Einstellungen, die sich auf eine Datenverarbeitung für Daten beziehen, die von der dritten virtuellen Maschine 202 empfangen werden.
-
Die virtuelle Verwaltungsmaschine 110 kann auf die Datenverarbeitungseinstellungen 502 zugreifen, um zu bestimmen, wie Datenverarbeitungsdienste an Daten ausgeführt werden sollen, die in der Speicherung 104 gespeichert sind. Das Erlauben, dass die Einstellungen für die virtuelle Verwaltungsmaschine 110 eingegeben werden, kann erlauben, dass Daten in der Speicherung 104 einheitlich behandelt werden, unabhängig von der virtuellen Maschine, die die Daten speichert oder auf diese zugreift.
-
Bezug nehmend wieder auf 3 und weiter zu Block 310 gewinnt die virtuelle Verwaltungsmaschine 110 die gespeicherten Daten wieder, wie z. B. aus der Speicherung 104. Die virtuelle Verwaltungsmaschine 110 kann auf die gespeicherten Daten auf jegliche geeignete Weise zugreifen. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 Daten aus der Speicherung 104 wiedergewinnen, ansprechend auf eine Anforderung von einer anderen virtuellen Maschine. Die virtuelle Verwaltungsmaschine 110 kann eine Anforderung nach Daten an einem bestimmten Ort der Speicherung 104 empfangen oder einen Ort bilden, der auf die Speicherung 104 abgebildet ist. Die virtuelle Verwaltungsmaschine 110 kann z. B. eine Anforderung nach Daten aus der zweiten virtuellen Maschine 112 oder der dritten virtuellen Maschine 202 empfangen.
-
Weiter bei Block 312 sendet die virtuelle Verwaltungsmaschine 110 die wiedergewonnenen Daten zu einer anderen virtuellen Maschine, die auf dem Prozessor 106 ausgeführt wird, wie z. B. der zweiten virtuellen Maschine 112 oder der dritten virtuellen Maschine 202. Zum Beispiel kann die virtuelle Verwaltungsmaschine 110 wiedergewonnene Daten zu einer virtuellen Maschine senden, die gespeicherte Daten anfordert. Die virtuelle Verwaltungsmaschine 110 kann die wiedergewonnenen Daten auf jegliche geeignete Weise übertragen, wie z. B. unter Verwendung einer Kommunikationsschnittstelle. Das Verfahren fahrt dann mit Block 314 fort und endet.
-
6 ist ein Blockdiagramm, das ein Beispiel 600 zur Verwaltung gemeinschaftlich verwendeter Daten unter Verwendung einer virtuellen Maschine darstellt. Beispiel 500 zeigt die Aktivitäten der zweiten virtuellen Maschine 112, der virtuellen Verwaltungsmaschine 110 und der dritten virtuellen Maschine 202. Die elektronische Vorrichtung 102 kann zuerst die zweite virtuelle Maschine 112 ausführen, um ein erstes Betriebssystem zu booten. Beginnend bei Block 602 kann ein Benutzer ein Textverarbeitungssoftwareprogramm benutzen, das auf der zweiten virtuellen Maschine 112 ausgeführt wird, um Dokument A zu schreiben. Weiter bei Block 604 kann der Benutzer das Schreiben von Dokument A fertig stellen und auswählen, Dokument A in einer gemeinschaftlich verwendeten Speicherung zu speichern. Die virtuelle Verwaltungsmaschine 110 kann auf dem Prozessor 106 ausgeführt werden, während Anweisungen der zweiten virtuellen Maschine 112 ausgeführt werden. Die virtuelle Verwaltungsmaschine 110 kann Dokument A von der zweiten virtuellen Maschine 112 empfangen. Die virtuelle Verwaltungsmaschine 110 kann Daten zur Speicherung ohne Kenntnis der zweiten virtuellen Maschine 112 und der dritten virtuellen Maschine 202 sichern. Zum Beispiel, weiter zu Block 606, kann die virtuelle Verwaltungsmaschine 110 Dokument A verschlüsseln und weiter zu Block 608 kann die virtuelle Verwaltungsmaschine 110 das verschlüsselte Dokument A speichern.
-
Der Benutzer kann die zweite virtuelle Maschine 112 verlassen und die Betriebssystemumgebung der dritten virtuellen Maschine 202 initiieren. Der Benutzer kann ein Textverarbeitungssoftwareprogramm auf der dritten virtuellen Maschine 202 betreiben. Weiter bei Block 610 kann der Benutzer entscheiden, ein gespeichertes Dokument in einer gemeinschaftlich verwendeten Speicherung zu öffnen. Der Benutzer kann Dokument A auswählen und eine Anfrage nach Dokument A kann zu der virtuellen Verwaltungsmaschine 110 gesendet werden. Die virtuelle Verwaltungsmaschine 110 kann eine Anfrage nach Dokument A empfangen, das an einem Ort in einer gemeinschaftlich verwendeten Speicherung gespeichert ist. Die virtuelle Verwaltungsmaschine 110 kann Dokument A wiedergewinnen. Weiter bei Block 612 kann die virtuelle Verwaltungsmaschine 110 Dokument A entschlüsseln, sodass es in einem lesbaren Format ist. Weiter zu Block 614 kann die virtuelle Verwaltungsmaschine 110 das entschlüsselte Dokument A zu der dritten virtuellen Maschine 202 senden. Die dritte virtuelle Maschine 202 kann Dokument A einem Benutzer anzeigen. Die virtuelle Verwaltungsmaschine 110 kann Datenverwaltungsfunktionen ausführen, während Software auf der dritten virtuellen Maschine 202 in Verwendung ist. Während z. B. ein Benutzer Dokument A aktualisiert, kann die virtuelle Verwaltungsmaschine 110 Dokument A zu einer entfernten Speicherung zur Sicherung senden, wie bei Block 616 gezeigt ist.
-
Das Verwenden einer virtuellen Verwaltungsmaschine zum Verwalten gespeicherter Daten erlaubt, dass mehrere virtuelle Maschinen Daten gemeinschaftlich verwenden, während Datenverwaltungsfunktionen getrennt von den virtuellen Maschinen beibehalten werden, die die Daten gemeinschaftlich verwenden. Zum Beispiel kann eine virtuelle Verwaltungsmaschine Daten für eine andere virtuelle Maschine speichern und auf diese zugreifen und Datenverarbeitungsdienste an den gespeicherten Daten ausführen. Als Ergebnis können Daten auf besser konsolidierte und effizientere Weise verwaltet werden.