-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet der Virtualisierung und im Besonderen auf ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild sowie auf ein System zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild. Die vorliegende Erfindung bezieht sich weiterhin im Besonderen auf ein Datenverarbeitungsprogramm und ein Computerprogrammprodukt zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild.
-
Beschreibung der verwandten Technik
-
Obwohl die Virtualisierung zahlreiche Vorteile mit Blick auf die Optimierung der Ressourcenausnutzung mit sich brachte, führte sie auch zu neuen Herausforderungen. Besonders offensichtlich ist dabei das Problem, wie sich eine steigende Anzahl von virtuellen Abbildern verwalten und pflegen lässt. Virtuelle Abbilder werden in der Regel in einem zentralen Abbild-Repository erfasst und gespeichert und anhand von Versionsverwaltungs- und Herkunftskontrollmechanismen verwaltet. Bei den verschiedenen Verwaltungsaktionen besteht ein zentrales Problem darin, diese Abbilder auf die gleiche Programmkorrekturstufe zu bringen. Die üblicherweise auf laufende virtuelle oder physische Maschinen angewendeten Sicherheitsrichtlinien müssen auch auf inaktive Abbilder angewendet werden. Je länger die Implementierung einer Programmkorrektur des Betriebssystems verzögert wird, desto größer ist die Gefahr eines Befalls mit Viren, wenn Abbilder instanziiert werden. Die gebräuchlichste Art der Anwendung von Programmkorrekturen auf inaktive Abbilder besteht darin, sie in einem isolierten Netzwerk nacheinander lediglich für die Dauer zu instanziieren, die notwendig ist, um die Änderung über standardmäßige Implementierungsmechanismen zu implementieren; dieser Ansatz hat den erheblichen Nachteil, dass es ineffizient ist, jedes inaktive virtuelle Abbild auch dann erneut zu instanziieren, um die neuen Programmkorrekturen zu implementieren, wenn nicht sicher ist, ob es in der Zukunft verwendet werden wird; und dass es, selbst wenn das inaktive virtuelle Abbild in einem isolierten Netzwerk instanziiert wird, nicht garantiert werden kann, dass keine Gefährdung durch Viren besteht.
-
Die Recherche konzentrierte sich darauf, eine Technik zu finden, die ein Verfahren oder System offenbart, um inaktive virtuelle Abbilder, auf die in einem Offline-Zustand eine Programmkorrektur angewendet werden soll, vorzubereiten und während des nächsten Boot-Vorgangs, wenn die virtuellen Abbilder in der Produktivumgebung erneut instanziiert werden, eine Programmkorrektur auf die virtuellen Abbilder anzuwenden. Im Besonderen war die Recherche darauf ausgerichtet, eine Technik zu finden, welche die folgenden Merkmale offenbart:
Vorbereiten inaktiver virtueller Abbilder, auf die in einem Offline-Zustand eine Programmkorrektur angewendet werden soll, indem die virtuellen Abbilder mit der geeigneten Programmkorrekturlogik und dem Programmkorrekturmaterial (Programmkorrektur-Software-Modul, dem Betriebssystem vorgelagerte Umgebung) modifiziert werden, die beim nächsten Boot-Prozess angewendet werden sollen; und Ausführen der Programmkorrekturlogik aufsetzend auf einer dem Betriebssystem vorgelagerten Umgebung, wenn die dem virtuellen Abbild zugehörige virtuelle Maschine (VM) hochfährt (erneute Instanziierung). Auf diese Weise ist sichergestellt, dass Programmkorrekturen exakt dann angewendet werden, wenn sie tatsächlich benötigt werden.
-
In der Patentschrift
US 7 823 145 B1 „UPDATING SOFTWARE ON DORMANT DISKS” von Le et al. wird ein System und Verfahren zum Überprüfen und Aktualisieren von Software auf einer inaktiven Platte offenbart. Das offenbarte Verfahren zum Aktualisieren einer inaktiven Platte, ohne dass ein Hochfahren der inaktiven Platte notwendig ist, verwendet einen indirekten Mechanismus, wobei das Verfahren den Schritt des Überprüfens einer inaktiven Platte, um einen momentanen Zustand der inaktiven Platte zu ermitteln, des Ermittelns, ob die Aktualisierungen verfügbar sind, und des Anwendens der Aktualisierungen auf die inaktive Platte unter Verwendung des indirekten Mechanismus beinhaltet. Der indirekte Mechanismus enthält ein Mittel zum Speichern eines Skripts auf der inaktiven Platte, wobei das Skript so konfiguriert ist, dass es die Dateien beim Hochfahren der inaktiven Platte aktualisiert. Das gesamte Dokument beschreibt die herkömmliche Verfahrensweise, mit denen Programmkorrekturen auf offline befindliche virtuelle Abbilder angewendet werden, und stützt sich dabei auf das Konzept, das virtuelle Abbild in einem isolierten Netzwerk ausschließlich zum Zwecke der Anwendung einer Programmkorrektur erneut zu instanziieren.
-
Zusammenfassung der Erfindung
-
Das der vorliegenden Erfindung zugrundeliegende technische Problem besteht darin, ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild sowie ein System zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild bereitzustellen, die in der Lage sind, jede Änderung wie z. B. eine Modifizierung des Gerätetreibers anzuwenden und die oben erwähnten Ineffizienzen, Mängel und Problempunkte der Anwendung von Programmkorrekturen auf ein virtuelles Abbild nach dem Stand der Technik zu beheben.
-
Gemäß der vorliegenden Erfindung wird dieses Problem gelöst, indem ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild mit den Merkmalen aus Anspruch 1, ein System zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild mit den Merkmalen aus Anspruch 9, ein Datenverarbeitungsprogramm zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild mit den Merkmalen aus Anspruch 14 und ein Computerprogrammprodukt zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild mit den Merkmalen aus Anspruch 15 bereitgestellt werden. Vorteilhafte Ausführungsformen der vorliegenden Erfindung werden in den Unteransprüchen erwähnt.
-
Entsprechend weist in einer Ausführungsform der vorliegenden Erfindung ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild die folgenden Schritte auf: Modifizieren eines ausgewählten inaktiven virtuellen Abbildes, auf das eine Programmkorrektur angewendet werden soll, indem eine entsprechende Programmkorrekturlogik und Programmkorrekturmaterial eingeschleust werden, die beim nächsten Boot-Vorgang während einer Offline-Vorbereitungsphase angewendet werden sollen; Herunterladen eines Boot-Mediums und Erstellen einer temporären Platte für eine ausgewählte virtuelle Ziel-Maschine mit entsprechenden Implementierungsdaten; Ändern eines Master-Boot-Satzes (Master Boot Record, MBR) der temporären Platte, die der virtuellen Ziel-Maschine zugehörig ist, um als Nächstes von dem Boot-Medium hochzufahren; und Ausführen der Programmkorrekturlogik, um das Programmkorrekturmaterial zu installieren, falls die virtuelle Ziel-Maschine hochgefahren wird, die dem virtuellen Abbild zugehörig ist, auf das eine Programmkorrektur angewendet werden soll.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung weist das Programmkorrekturmaterial ein Programmkorrektur-Software-Modul und Daten zu einer dem Betriebssystem vorgelagerten Umgebung auf, die verwendet werden sollen, um eine Programmkorrektur auf das ausgewählte inaktive virtuelle Abbild anzuwenden.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung wird die dem Betriebssystem vorgelagerte Umgebung während des Hochfahrens der virtuellen Ziel-Maschine, die dem virtuellen Abbild zugehörig ist, auf das eine Programmkorrektur angewendet werden soll, und dem Übernehmen der Kontrolle über den Prozess des Anwendens einer Programmkorrektur durch das Boot-Medium gestartet.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung wird das Programmkorrektur-Software-Modul auf der dem Betriebssystem vorgelagerten Umgebung aufsetzend ausgeführt.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung startet die dem Betriebssystem vorgelagerte Umgebung einen Agenten, der direkt auf das ausgewählte virtuelle Abbild zugreift und Änderungen gemäß dem Programmkorrektur-Software-Modul anwendet.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung wird das Verfahren zum Anwenden eine Programmkorrektur während der Offline-Vorbereitungsphase ausgewählt.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung werden das virtuelle Abbild, auf das eine Programmkorrektur angewendet werden soll, und das anzuwendende Programmkorrektur-Software-Modul nur dann während der Offline-Vorbereitungsphase ausgewählt und eingebunden, wenn das ausgewählte Verfahren zum Anwenden einer Programmkorrektur ein Verfahren zum Anwenden einer Programmkorrektur während des nächsten Boot-Vorgangs ist und die Implementierung des virtuellen Abbilds mit Anwendung einer Programmkorrektur ausgewählt wird.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung ist das Boot-Medium ein ISO-Abbild.
-
Bei einer anderen Ausführungsform der vorliegenden Erfindung weist ein System zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild auf: einen Browser, einen Abbildbereitstellungs-Server mit einem Abbild-Repository, das mindestens ein virtuelles Abbild enthält, und eine Virtualisierungsinfrastruktur, die mindestens einen Hypervisor aufweist, der mindestens eine virtuelle Maschine ausführt; wobei der Browser dazu verwendet wird, aus dem Abbild-Repository ein inaktives virtuelles Abbild, auf das eine Programmkorrektur angewendet werden soll, anzuwendendes Programmkorrekturmaterial sowie eine virtuelle Ziel-Maschine auszuwählen; wobei das ausgewählte inaktive virtuelle Abbild, auf das eine Programmkorrektur angewendet werden soll, modifiziert wird, indem eine entsprechende Programmkorrekturlogik und das Programmkorrekturmaterial eingeschleust werden, die beim nächsten Boot-Vorgang während einer Offline-Vorbereitungsphase angewendet werden sollen; wobei der Abbildbereitstellungs-Server Kontakt mit einem OSD-Werkzeug (On-Screen Display, Bildschirmanzeige) der Virtualisierungsinfrastruktur aufnimmt, um ein Boot-Medium herunterzuladen und eine temporäre Platte für die ausgewählte virtuelle Ziel-Maschine mit entsprechenden Implementierungsdaten zu erstellen; wobei das OSD-Werkzeug einen Master-Boot-Satz der temporären Platte, die der virtuellen Ziel-Maschine zugeordnet ist, ändert, um als Nächstes von dem Boot-Medium hochzufahren; und die Programmkorrekturlogik ausführt, um das Programmkorrekturmaterial zu installieren, falls die virtuelle Ziel-Maschine hochgefahren wird, die dem virtuellen Abbild zugehörig ist, auf das eine Programmkorrektur angewendet werden soll.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung weist das Programmkorrekturmaterial ein Programmkorrektur-Software-Modul und Daten zu einer dem Betriebssystem vorgelagerten Umgebung auf, die verwendet werden sollen, um eine Programmkorrektur auf das ausgewählte inaktive virtuelle Abbild anzuwenden.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung startet das OSD-Werkzeug die virtuelle Ziel-Maschine, die von dem ISO-Abbild hochfährt; wobei die virtuelle Ziel-Maschine die dem Betriebssystem vorgelagerte Umgebung und das OSD-Werkzeug von dem Hypervisor auf die temporäre Platte herunterlädt, das virtuelle Abbild, auf das eine Programmkorrektur angewendet werden soll, anhängt und entsprechende Dateien herunterlädt und bereitstellt.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung wird das Programmkorrektur-Software-Modul auf der dem Betriebssystem vorgelagerten Umgebung aufsetzend ausgeführt.
-
Bei weiteren Ausführungsformen der vorliegenden Erfindung startet die dem Betriebssystem vorgelagerte Umgebung einen Agenten, der direkt auf das ausgewählte virtuelle Abbild zugreift und Änderungen gemäß dem Programmkorrektur-Software-Modul anwendet.
-
Bei einer anderen Ausführungsform der vorliegenden Erfindung weist ein Datenverarbeitungsprogramm zur Ausführung in einem Datenverarbeitungssystem Software-Codeabschnitte auf, um ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild durchzuführen, wenn das Programm in dem Datenverarbeitungssystem ausgeführt wird.
-
Bei einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Computerprogrammprodukt, das auf einem computernutzbaren Medium gespeichert ist, ein computerlesbares Programmmittel auf, um einen Computer zu veranlassen, ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild durchzuführen, wenn das Programm auf dem Computer ausgeführt wird.
-
Insgesamt betrachtet, gehen die Ausführungsformen der vorliegenden Erfindung von der Annahme aus, dass die inaktiven virtuellen Abbilder, auf die eine Programmkorrektur angewendet werden soll, offline lediglich vorbereitet werden und dass das eigentliche Anwenden einer Programmkorrektur auf den Zeitpunkt verschoben wird, zu dem das virtuelle Abbild in der Produktionsumgebung erneut instanziiert wird. Hierfür wird das virtuelle Abbild modifiziert, indem die bei einem nächsten Boot-Vorgang anzuwendende geeignete Programmkorrekturlogik und das Material, das ein Programmkorrektur-Software-Modul und eine dem Betriebssystem vorgelagerte Umgebung aufweist, offline eingeschleust werden. Ein Schlüsselaspekt der vorliegenden Erfindung besteht darin, dass die Programmkorrekturlogik aufsetzend auf einer dem Betriebssystem vorgelagerten Umgebung, z. B. WinPE für Windows (eine Handelsmarke der Microsoft Corporation) und das Pre-Boot-Betriebssystem für die Altiris Deployment Solution (Altiris und Deployment Solution sind Handelsmarken der Symantec Corporation) für Linux (Linux ist eine Handelsmarke von Linus Torvalds), ausgeführt wird, sobald die dem virtuellen Abbild zugehörige virtuelle Maschine hochfährt. Dieser Fall tritt ein, wenn das Netzwerk noch nicht zur Abwehr eines Virenangriffs verfügbar ist. Zusätzlich zur Lösung der Sicherheitsproblematik stellen Ausführungsformen der vorliegenden Erfindung sicher, dass Programmkorrekturen genau dann angewendet werden, wenn sie tatsächlich benötigt werden, wodurch die Ineffizienz herkömmlicher Herangehensweisen außerordentlich verringert wird.
-
Während einige Lösungen nach dem Stand der Technik den Schritt des indirekten/verzögerten Anwendens einer Programmkorrektur beschreiben, bei dem das inaktive virtuelle Abbild darauf vorbereitet wird, die Programmkorrektur zum Zeitpunkt des Hochfahrens zu erhalten, unterscheiden sich Ausführungsformen der vorliegenden Erfindung in erheblichem Maße von den Lösungen nach dem Stand der Technik und bringen offensichtliche Vorteile mit sich.
-
Während der Mechanismus nach dem Stand der Technik das inaktive virtuelle Abbild modifiziert, indem die Aktualisierungsskripte direkt in das eigentliche virtuelle Abbild aufgenommen werden, wenden Ausführungsformen der vorliegenden Erfindung diese Änderungen nicht an, sondern modifizieren lediglich den MBR, um die Maschine zu zwingen, anstelle von der Festplatte von einem geladenen Boot-Medium wie z. B. einer ISO-Datei (Abbild) hochzufahren. Dies bedeutet, dass zum Boot-Zeitpunkt die Steuerung durch die dem Betriebssystem vorgelagerte Umgebung übernommen wird, die auf dem geladenen Boot-Medium enthalten ist und die dann einen Agenten startet, der direkt auf das eigentliche virtuelle Abbild zugreift und die Änderungen daran vornimmt. Im Gegensatz zu den Lösungen nach dem Stand der Technik lassen sich auf diese Weise beliebige Änderungen einschließlich einer Modifizierung von Gerätetreibern anwenden. Das Zielsystem fährt somit von einem zwischengeschalteten Boot-Medium wie z. B. der ISO-Platte hoch, und die Programmkorrektur wird nur auf die Platte der lokalen virtuellen Ziel-Maschine angewendet.
-
Die obigen sowie zusätzliche Aufgabenstellungen, Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden schriftlichen Detailbeschreibung offensichtlich.
-
Kurze Beschreibung der Zeichnungen
-
Eine bevorzugte und weiter unten ausführlich beschriebene Ausführungsform der vorliegenden Erfindung wird in den Zeichnungen gezeigt, wobei
-
1 ein schematisches Blockschaubild eines Systems zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
-
2 ein schematischer Ablaufplan eines Verfahrens zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild gemäß einer ersten Ausführungsform der vorliegenden Erfindung ist.
-
Ausführliche Beschreibung der bevorzugten Ausführungsformen
-
1 zeigt ein System zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Mit Blick auf 1 verwendet die gezeigte Ausführungsform der vorliegenden Erfindung ein System 1 zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild, das den Browser 10, den Abbildbereitstellungs-Server 20 mit dem Abbild-Repository 30, das mindestens ein virtuelles Abbild enthält, und die Virtualisierungsinfrastruktur 5 aufweist, die mindestens einen Hypervisor 40 aufweist, der mindestens eine virtuelle Maschine 50, 60, 70 ausführt. In der gezeigten Ausführungsform ist der Hypervisor 40 z. B. in Form des VMware ESX-Hypervisor-Typs (VMware ist eine Handelsmarke von VMware Inc.) realisiert, der z. B. das Boot-Medium 42, das OSD-Werkzeug 44, einen Hypervisor-Kernel (HYP) und einen Linux-Kernel realisiert, und der Abbildbereitstellungs-Server 20 ist als ein Tivoli Provisioning Manager for Images (TPMflmages) realisiert. Obwohl diese Hypervisor- und Abbildbereitstellungs-Server-Typen erwähnt werden, können Ausführungsformen der vorliegenden Erfindung auch dann gleichermaßen gut funktionieren, wenn andere Hypervisor- und Abbildbereitstellungs-Server-Typen verwendet werden.
-
Der Browser 10 wird verwendet, um ein inaktives virtuelles Abbild, auf das eine Programmkorrektur angewendet werden soll, aus dem Abbild-Repository 30, das anzuwendende Programmkorrekturmaterial und die virtuelle Ziel-Maschine 50 auszuwählen; wobei das ausgewählte inaktive virtuelle Abbild, auf das eine Programmkorrektur angewendet werden soll, modifiziert wird, indem eine entsprechende Programmkorrekturlogik und das Programmkorrekturmaterial eingeschleust werden, die beim nächsten Boot-Vorgang während einer Offline-Vorbereitungsphase angewendet werden sollen.
-
Der Abbildbereitstellungs-Server 20 nimmt Kontakt mit dem OSD-Werkzeug 44 der Virtualisierungsinfrastruktur 5 auf, um das Boot-Medium 42 herunterzuladen und die temporäre Platte 52 für die ausgewählte virtuelle Ziel-Maschine 50 mit entsprechenden Implementierungsdaten zu erstellen. Das OSD-Werkzeug 44 ändert einen MBR der temporären Platte 52, die der virtuellen Ziel-Maschine 50 zugehörig ist, um als Nächstes von dem Boot-Medium 42 hochzufahren; und führt die Programmkorrekturlogik aus, um das Programmkorrekturmaterial zu installieren, falls die virtuelle Ziel-Maschine 50 hochgefahren wird, die dem virtuellen Abbild zugehörig ist, auf das eine Programmkorrektur angewendet werden soll.
-
Das Programmkorrekturmaterial weist ein Programmkorrektur-Software-Modul und Daten zu der dem Betriebssystem vorgelagerten Umgebung 56 auf, die verwendet werden sollen, um eine Programmkorrektur auf das ausgewählte inaktive virtuelle Abbild anzuwenden.
-
Anders ausgedrückt, wählt ein Bediener während der Programmkorrektur-Vorbereitungsphase das virtuelle Abbild aus, auf das eine Programmkorrektur angewendet werden soll, das anzuwendende Software-Modul, das die Programmkorrektur enthält, sowie das Programmkorrekturverfahren wie z. B. eine sofortige Programmkorrektur, eine Programmkorrektur beim nächsten Hochfahren oder eine geplante Programmkorrektur. Wenn „nächstes Hochfahren” und „Abbildimplementierung mit Anwendung einer Programmkorrektur” ausgewählt werden, bindet der Abbildbereitstellungs-Server 20 das Software-Modul an das virtuelle Abbild, das implementiert werden soll.
-
Während der Phase der Implementierung von virtuellem Abbild und Programmkorrektur wählt der Bediener die virtuelle Ziel-Maschine 50 aus und löst eine Implementierungsaktion aus. Als Reaktion auf den Auslöseprozess nimmt der Abbildbereitstellungs-Server 20 Kontakt mit dem OSD-Werkzeug 44 auf, das auf dem Hypervisor 40 ausgeführt wird. Das OSD-Werkzeug 44 lädt z. B. ein ISO-Abbild für einen Netz-Boot-Vorgang als Boot-Medium herunter und erstellt die temporäre VM-Platte 52 mit den Implementierungsdaten. Das OSD-Werkzeug 44 ändert den MBR der VM-Platte 52, um von der ISO-Datei (Abbild) als Boot-Medium 42 hochzufahren. Das OSD-Werkzeug 44 startet die VM 50. Die VM 50 fährt von der ISO-Datei (Abbild) als Boot-Medium 42 hoch, und die dem Betriebssystem vorgelagerte Umgebung 56 und das OSD-Werkzeug 54 werden von dem Hypervisor 40 herunter- und auf eine RAM-Platte geladen. Die virtuellen Abbilder werden angehängt, und die Dateien werden heruntergeladen und implementiert. Das OSD-Werkzeug 56 führt einen Agenten aus, um das Betriebssystem vorzubereiten, die Gerätetreiber einzuschleusen und das Programmkorrektur-Software-Modul zu installieren. Das Programmkorrektur-Software-Modul wird somit auf der dem Betriebssystem vorgelagerten Umgebung 56 aufsetzend ausgeführt.
-
2 zeigt ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Mit Blick auf 2 implementiert die gezeigte Ausführungsform der vorliegenden Erfindung ein Verfahren zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild. In Schritt S100 werden ein inaktives virtuelles Abbild, auf das eine Programmkorrektur angewendet werden soll, ein anzuwendendes Programmkorrektur-Software-Modul und ein Programmkorrekturverfahren ausgewählt. Wenn als Programmkorrekturverfahren „nächstes Hochfahren” und „Abbildimplementierung mit Anwendung einer Programmkorrektur” ausgewählt werden, wird in Schritt S200 das Programmkorrektur-Software-Modul an das inaktive virtuelle Abbild gebunden, auf das eine Programmkorrektur angewendet werden soll.
-
In Schritt S300 wird das ausgewählte inaktive virtuelle Abbild, auf das eine Programmkorrektur angewendet werden soll, modifiziert, indem eine entsprechende Programmkorrekturlogik und Programmkorrekturmaterial eingeschleust werden, die beim nächsten Boot-Vorgang während einer Offline-Vorbereitungsphase angewendet werden sollen. In Schritt S400 wird das Boot-Medium 42 heruntergeladen, und die temporäre Platte 52 für die ausgewählte virtuelle Ziel-Maschine 50 mit entsprechenden Implementierungsdaten wird erstellt. In Schritt S500 wird ein Master-Boot-Datensatz der temporären Platte 52, die der virtuellen Ziel-Maschine 50 zugehörig ist, geändert, um als Nächstes von dem Boot-Medium 42 hochzufahren. In Schritt S600 wird die Programmkorrekturlogik ausgeführt, um das Programmkorrekturmaterial zu installieren, falls die virtuelle Ziel-Maschine 50 hochgefahren wird, die dem virtuellen Abbild zugehörig ist, auf das eine Programmkorrektur angewendet werden soll.
-
Das Programmkorrekturmaterial weist ein Programmkorrektur-Software-Modul und Daten zu der dem Betriebssystem vorgelagerten Umgebung 56 auf, die verwendet werden sollen, um eine Programmkorrektur auf das ausgewählte inaktive virtuelle Abbild anzuwenden. Die dem Betriebssystem vorgelagerte Umgebung 56 wird während des Hochfahrens der virtuellen Ziel-Maschine 50, die dem virtuellen Abbild zugehörig ist, auf das eine Programmkorrektur angewendet werden soll, von dem Boot-Medium 42 gestartet und übernimmt die Kontrolle über den Prozess des Anwendens einer Programmkorrektur, wobei das Programmkorrektur-Software-Modul auf der dem Betriebssystem vorgelagerten Umgebung 56 aufsetzend ausgeführt wird. Wie weiter oben erwähnt, startet die dem Betriebssystem vorgelagerte Umgebung 56 einen Agenten, der direkt auf das ausgewählte virtuelle Abbild zugreift, auf das eine Programmkorrektur angewendet werden soll, und Änderungen gemäß dem Programmkorrektur-Software-Modul anwendet.
-
Eine Ausführungsform der vorliegenden Erfindung kann vollständig als Software-Ausführungsform oder als eine Ausführungsform realisiert sein, die sowohl Hardware- als auch Software-Elemente enthält. Bei einer bevorzugten Ausführungsform wird die vorliegende Erfindung in Software-Form realisiert, einschließlich, ohne auf diese beschränkt zu sein, Firmware, speicherresidente Software, Mikrocode usw.
-
Die vorliegende Erfindung kann des Weiteren in Gestalt eines Computerprogrammprodukts vorliegen, auf das über ein computernutzbares oder computerlesbares Medium zugegriffen werden kann, das Programmcode bereitstellt, der durch oder in Verbindung mit einem Computer oder einem beliebigen anderen System zur Befehlsausführung verwendet werden kann. Zum Zwecke dieser Beschreibung kann ein computernutzbares oder computerlesbares Medium jedwede Vorrichtung sein, die das Programm, welches durch oder in Verbindung mit dem Befehlsausführungssystem, der Vorrichtung oder Einheit verwendet wird, enthalten, speichern, austauschen, verteilen oder übertragen kann.
-
Das Medium kann ein elektrisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (oder eine entsprechende Vorrichtung bzw. Einheit) oder ein Verteilungsmedium sein. Beispiele für ein computerlesbares Medium beinhalten einen Halbleiter- oder Festkörperspeicher, ein Magnetband, eine wechselbare Computerdiskette, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), eine magnetische Festplatte und eine optische Platte. Gegenwärtige Beispiele für optische Festplatten sind Compact Disk Read Only Memory (CD-ROM), Compact Disk Read/Write (CD-R/W) und DVD. Ein Datenverarbeitungssystem, das für das Speichern und/oder Ausführen von Programmcode geeignet ist, enthält mindestens einen Prozessor, der direkt oder indirekt über einen Systembus mit Speicherelementen verbunden ist. Die Speicherelemente können einen Lokalspeicher, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cachespeicher beinhalten, die eine vorübergehende Speicherung von mindestens einigem Programmcode bereitstellen, um die Häufigkeit zu verringern, mit welcher der Code während der Ausführung aus dem Massenspeicher abgerufen werden muss. Ein-/Ausgabe- bzw. E/A-Einheiten (einschließlich, ohne auf diese beschränkt zu sein, Tastaturen, Anzeigen, Zeigeeinheiten usw.) können entweder direkt oder über dazwischen geschaltete E/A-Steuereinheiten mit dem System verbunden sein.
-
Netzwerkadapter können ebenfalls mit dem System verbunden sein, um die Verbindung des Datenverarbeitungssystems mit anderen Datenverarbeitungssystemen oder mit entfernt angeordneten Druckern oder Speichereinheiten über dazwischen geschaltete private oder öffentliche Netzwerke zu ermöglichen. Modems, Kabelmodems und Ethernet-Karten sind nur einige der momentan verfügbaren Typen von Netzwerkadaptern.