-
HINTERGRUND
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft Cloud-Datenverarbeitung und insbesondere Verfahren und Systeme zum Aktivieren der Steuerung auf einem Hypervisor in einer Cloud-Datenverarbeitungsumgebung.
-
Beschreibung des Standes der Technik
-
Bei der Cloud-Datenverarbeitung handelt es sich um eine internetbasierte Datenverarbeitung, bei der gemeinsam genutzte Ressourcen, Software und Daten auf Aufforderung Computern und anderen Einheiten wie beispielsweise dem Stromnetz bereitgestellt werden. Cloud-Datenverarbeitung beschreibt ein neues ergänzendes Verbrauchs- und Bereitstellungsmodell für die auf dem Internet beruhenden Informationstechnologie-(IT-)Diensten, und mit ihr geht über das Internet üblicherweise eine Bereitstellung von dynamisch skalierbaren und oftmals virtualisierten Ressourcen für Benutzersysteme als ein Dienst über das Internet einher. Der Großteil der Cloud-Datenverarbeitungsinfrastruktur besteht aus zuverlässigen Diensten, die über Datenzentren geliefert und auf Servern erstellt werden.
-
Ein Hypervisor, auch als Virtual Machine Monitor (VMM) bezeichnet, ermöglicht, dass mehrere Betriebssystemen gleichzeitig auf einem Host-System wie beispielsweise einem Host-Computer oder einem Server, der Cloud-Datenverarbeitungsdienste für Host-Systeme bereitstellt, ausgeführt werden. Solch eine Funktion wird oftmals als Hardware-Virtualisierung bezeichnet. Der Hypervisor kann den Guest-Betriebssystemen eine virtuelle Plattform anbieten und die Ausführung der Guest-Betriebssysteme überwachen. Auf diese Weise können viele Betriebssysteme, darunter mehrere Instanzen desselben Betriebssystems, gemeinsam Hardwareressourcen in der Cloud-Datenverarbeitungsumgebung nutzen.
-
Hypervisor werden im Allgemeinen entweder als Typ 1 oder Typ 2 klassifiziert. Ein Typ-1-Hypervisor (oder nativer, bare metal hypervisor) läuft direkt auf der Hardware des Host zum Steuern der Hardware und zum Überwachen der Guest-Betriebssysteme. Ein Guest-Betriebssystem läuft auf einer anderen Ebene oberhalb des Hypervisor. Ein Typ-2-Hypervisor (oder gehosteter Hypervisor) läuft somit innerhalb einer herkömmlichen Betriebssystemumgebung, wobei die Hypervisor-Ebene eine gesonderte zweite Softwareebene ist und das Guest-Betriebssystem auf einer anderen Ebene oberhalb des Hypervisor läuft.
-
Server können mit übermäßig vielen Funktionen für die grundlegenden Bedürfnisse eines Anbieters eines Cloud-Datenverarbeitungsdienstes ausgestattet sein. So weisen beispielsweise aktuelle Datenverarbeitungsserver eine Firmware-Abstraktionsebene wie beispielsweise eine Basiseingabe/Ausgabesystem-(BIOS)-Ebene, eine vereinheitlichte, erweiterbare Firmwareschnittstellen-(UEFI-)Ebene oder eine Open-Firmware-Ebene auf. Solche Ebenen und andere Firmware zu unterstützen, kann für einen Server-Verkäufer im Hinblick auf Zeit und Aufwand sehr kostspielig sein.
-
Eine Abhandlung „Breakthrough Security Capabilities and Energy-Efficient Performance for Cloud Computing Infrastructures" beschreibt ein Zusammenwirken zwischen Intel® und Parallels zur Vereinfachung des Einsatzes von Parallels Server-4-Bare-Metal Virtualisierungs-Software auf Intel Xeon Prozessoren der 5600er Reihe beruhenden Servern. (Intel ist ein eingetragenes Handelsmarke der Intel Corporation oder ihrer Tochtergesellschaften in den Vereinigten Staaten und anderen Ländern).
-
Eine Abhandlung „IBM® WebSphere® Application Server Hypervisor Edition" von der IBM Corporation, Juni 2009, beschreibt ein Produkt, das so optimiert ist, dass es in Servervirtualisierungsumgebungen ohne eine spezielle Anpassung zum Verringern von Verwaltungs- und Wartungskosten und zum Senken von Entwicklungszeit laufen kann. (IBM und WebSphere sind Handelsmarken der International Business Machines Corporation in den Vereinigten Staaten und anderen Ländern oder in beiden).
-
Eine Abhandlung „Supporting Cloud Computing with Virtual Block Storage System" von Xiaoming Gao, Mike Lowe, Yu Ma and Marlon Pierce (2009 Fifth IEEE International Conference an e-Science) beschreibt ein virtuelles eigenständiges Blockspeicherungssystem, das in der Lage ist, grundlegende Blockspeicherungsdienste wie beispielsweise das Erstellen von Datenträgern (volumes) und Anhängen (attachements) bereitzustellen.
-
KURZDARSTELLUNG
-
Es wird vorzugsweise eine Lösung bereitgestellt, die die Komplexität von Host-Systemen verringert und Benutzersystemen in einer Cloud-Datenverarbeitungsumgebung Dienste bereitstellt.
-
Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen ein Verfahren zum Aktivieren der Steuerung in einer Cloud-Datenverarbeitungsumgebung bereit. So kann das Verfahren beispielsweise verwendet werden, um Steuerfunktionen einem Hypervisor eines Host-Systems wirksam bereitzustellen.
-
Gemäß einem ersten Aspekt wird ein Verfahren bereitgestellt, aufweisend: Initialisieren eines ersten Teils von Datenverarbeitungsressourcen, der zum Aktivieren von Diensten für ein Benutzersystem in einer Cloud-Datenverarbeitungsumgebung identifiziert wurde; und Initialisieren eines zweiten Teils der Datenverarbeitungsressourcen.
-
In einer Ausführungsform handelt es sich bei den Datenverarbeitungsressourcen um Datenverarbeitungsressourcen eines Hostsystems, wobei das Verfahren aufweist: in Reaktion auf das Einschalten und Booten des Host-Systems Identifizieren des ersten Teils der Datenverarbeitungsressourcen als notwendig für das Aktivieren von Diensten für das Benutzersystem und anschließend Initialisieren des ersten Teils.
-
In einer Ausführungsform weist der Schritt des Initialisierens eines ersten Teils von Datenverarbeitungsressourcen ein Initialisieren eines Prozessors und eines Speichers in einem Host-System auf, wobei der Schritt des Aktivierens von Diensten für das Benutzersystem ein Aktivieren eines Typ-1-Hypervisor aufweist, der sich auf dem Host-System befindet und so konfiguriert ist, dass er einem Benutzersystem Cloud-Datenverarbeitungsdienste in einer Cloud-Datenverarbeitungsumgebung bereitstellt.
-
Nach dem Aktivieren von Diensten in der Cloud-Datenverarbeitungsumgebung können vorzugsweise Cloud-Datenverarbeitungsdienste einem oder mehreren Benutzersystemen von dem Host-System bereitgestellt werden.
-
Gemäß einem zweiten Aspekt wird ein System bereitgestellt, aufweisend: einen Hypervisor, der so konfiguriert ist, dass er einem Benutzersystem Cloud-Datenverarbeitungsdienste bereitstellt; und ein Plattform-Initialisierungsmodul, dass so konfiguriert ist, dass es: einen ersten Teil von Datenverarbeitungsressourcen initialisiert, der zum Aktivieren von Diensten für ein Benutzersystem in einer Cloud-Datenverarbeitungsumgebung identifiziert wurde; Dienste für das Benutzersystem aktiviert; und einen zweiten Teil der Datenverarbeitungsressourcen initialisiert.
-
Gemäß einem dritten Aspekt wird ein Computerprogrammprodukt zum Aktivieren der Steuerung in einer Cloud-Datenverarbeitungsumgebung bereitgestellt, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium mit einem darin enthaltenen computerlesbaren Programmcode, wobei der computerlesbare Programmcode aufweist: computerlesbaren Programmcode, der so konfiguriert ist, dass er einen ersten Teil von Datenverarbeitungsressourcen initialisiert, der zum Aktivieren von Diensten für ein Benutzersystem in einer Cloud-Datenverarbeitungsumgebung identifiziert wurde; computerlesbaren Programmcode, der so konfiguriert ist, dass er Dienste für das Benutzersystem aktiviert; und computerlesbaren Programmcode, der so konfiguriert ist, dass er einen zweiten Teil der Datenverarbeitungsressourcen initialisiert.
-
Gemäß einem vierten Aspekt wird ein Verfahren bereitgestellt, aufweisend: Initialisieren eines Prozessors und eines Speichers in einem Host-System und Aktivieren eines Typ-1-Hypervisor, der sich auf dem Host-System befindet und so konfiguriert ist, dass er einem Benutzersystem in einer Cloud-Datenverarbeitungsumgebung Cloud-Datenverarbeitungsdienste bereitstellt.
-
Der Hypervisor kann direkt nach dem Initialisieren des Prozessors und des Speichers aktiviert werden. Nachdem der Hypervisor aktiviert ist, können verschiedene weitere Datenverarbeitungsressourcen initialisiert werden wie beispielsweise, ohne auf diese beschränkt zu sein, Teile des Speichers, die bisher noch nicht initialisiert worden sind, und ein Eingabe/Ausgabe-Busmodul. Des Weiteren kann der Hypervisor nach seiner Aktivierung einem oder mehreren Benutzersystemen Dienste bereitstellen wie beispielsweise, ohne auf diese beschränkt zu sein, Bereitstellen eines Guest-Betriebssystems und einer virtuellen Maschine zur Verwendung durch die Benutzersysteme.
-
Gemäß einem fünften Aspekt wird ein System bereitgestellt, aufweisend: ein Plattforminitialisierungsmodul, das so konfiguriert ist, dass es einen Prozessor und einen Speicher in einem Host-System initialisiert; und einen Typ-1-Hypervisor, der sich an dem Host-System befindet und so konfiguriert ist, dass er einem Benutzersystem in einer Cloud-Datenverarbeitungsumgebung Cloud-Datenverarbeitungsdienste bereitstellt.
-
KURZBESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
-
Im Folgenden werden im Sinne von lediglich Beispielen und in Bezug auf die folgenden Zeichnungen bevorzugte Ausführungsformen der vorliegenden Erfindung beschrieben:
-
1 zeigt ein Blockschaltbild eines Systems zum Aktivieren eines Hypervisor zur wirksamen Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung;
-
2 zeigt ein Blockschaubild eines Host-Systems gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung;
-
3 zeigt einen Ablaufplan eines beispielhaften Verfahrens zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung;
-
4 zeigt einen Ablaufplan eines weiteren beispielhaften Verfahrens zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung; und
-
5 zeigt einen Ablaufplan eines weiteren beispielhaften Verfahrens zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Hierin werden beispielhafte Verfahren und System zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung beschrieben. Insbesondere werden hierin beispielhafte Verfahren und Systeme zum Aktivieren eines Hypervisor zur wirksamen Übernahme der Steuerung eines Host-Systems beschrieben, das in Reaktion auf das Booten oder Einschalten des Host-Systems eine Cloud-Datenverarbeitungsumgebung implementiert. In einem Beispiel können dem Hypervisor wirksame Steuerfunktionen des Host-Systems allein durch das Initialisieren eines Teils von Datenverarbeitungsressourcen bereitgestellt werden, der durch das Host-System verfügbar gemacht wird und zum Aktivieren von Diensten für ein Benutzersystem in einer Cloud-Datenverarbeitungsumgebung identifiziert wurde. Die identifizierten Datenverarbeitungsressourcen sind möglicherweise die einzigen Ressourcen, die zum Aktivieren eines Zugriffs auf die Cloud-Datenverarbeitungsumgebung benötigt werden. Anschließend an das oder gleichzeitig mit dem Aktivieren von Cloud-Datenverarbeitungsdiensten für das Benutzersystem kann ein weiterer Teil der Datenverarbeitungsressourcen initialisiert werden. Auf diese Weise kann den identifizierten Datenverarbeitungsressourcen Priorität eingeräumt werden, ehe andere Ressourcen initialisiert werden. Durch Einräumen von Initialisierungspriorität für die identifizierten Datenverarbeitungsressourcen kann das Host-System Benutzersysteme aktivieren, um schnell und wirksam auf von der Cloud-Datenverarbeitungsumgebung bereitgestellte Dienste zuzugreifen.
-
Gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung kann eine Firmware-Abstraktions-Ebene wie beispielsweise eine BIOS-Ebene, UEFI-Ebene und/oder eine Open-Firmware-Ebene in einem Host-System enthalten sein. Diese Ebenen werden möglicherweise in Systemen und Verfahren gemäß Ausführungsformen der vorliegenden Erfindung nicht benötigt, da in den hierin beschriebenen Systemen der Hypervisor nach Beendigung der Plattforminitialisierung Steuerfunktionen übernehmen kann. Wenn keine Firmware-Abstraktions-Ebene vorgesehen wird, können Zeit und Kosten für das Entwickeln und Unterhalten solcher Ebenen eingespart werden.
-
1 veranschaulicht ein Blockschaltbild eines Systems 100 zum Aktivieren eines Hypervisor 102 zur wirksamen Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung. In Bezug auf 1 kann das System 100 ein Host-System 104 enthalten, das eine Cloud-Datenverarbeitungsumgebung für ein oder mehrere Benutzersysteme 106 implementiert. Das Host-System 104 kann über ein Netzwerk 108 mit den Benutzersystemen 106 verbunden sein. In einer oder mehreren Ausführungsformen der vorliegenden Erfindung enthält das Host-System 104 einen oder mehrere Server, die jeder einen oder mehrere Prozessoren (z. B. eine CPU) aufweisen, die Anweisungen lesen und ausführen und Aufforderungen von Benutzersystemen 106 in einer Cloud-Datenverarbeitungsumgebung bearbeiten können. Das Host-System 104 kann verschiedene Anwendungen ausführen und als Anwendungsserver, Webserver und/oder ein Datenbankserver fungieren. Die Benutzersysteme 106 können ein Desktopcomputer, ein Laptopcomputer, ein Universalcomputer, ein Smartphone oder jede beliebige Einheit sein, die eine Schnittstelle zum Austausch von Daten mit dem Host-System 104 aufweist. Über die Benutzersysteme 106 können Nutzer verschiedene Aufgaben an dem Host-System 104 initiieren, so beispielsweise Ausführen von Anwendungsprogrammen. Obgleich in 1 nur ein einziges Host-System 104 dargestellt ist, ist ersichtlich, dass mehrere Host-Systeme implementiert werden kann, wobei alle über eine Verbindung oder über ein oder mehrere Netzwerke Daten untereinander austauschen. So können beispielsweise viele Host-Systeme über eine verteilte Netzwerkarchitektur miteinander verbunden sein. Das einzelne Host-System 104 kann auch für ein Cluster an Hosts stehen, die gemeinsam Prozesse ausführen, wie dies hier ausführlicher beschrieben wird.
-
Das Netzwerk 108 kann jeder beliebige geeignete Typ von Datenübertragungsnetzwerk sein, das den Fachleuten bekannt ist. So kann das Netzwerk 108 beispielsweise ein Intranet, Extranet oder ein Internetwork wie beispielsweise das Internet oder eine Kombination daraus sein. Das Netzwerk 108 kann Drahtlos-, Kabel- und/oder Lichtwellenleiterverbindungen beinhalten.
-
Das Host-System 104 kann auf Daten zugreifen und diese in dem Speicher 110 speichern. Bei dem Speicher 110 kann es sich um jeden beliebigen geeigneten Typ von Speicher handeln, und er kann ein zweites Speicherelement, z. B. ein Festplattenlaufwerk, Band oder ein Speicherteilsystem enthalten, das sich außerhalb oder innerhalb des Host-Systems 104 befindet. Zu Datentypen, die in dem Speicher 110 gespeichert werden können, gehören beispielsweise Protokolldateien und Datenbanken. Es sollte ersichtlich sein, dass der Speicher 110 im Sinne einer Vereinfachung und leichteren Erklärung bereitgestellt wird und dass er nicht als den Umfang einschränkend erachtet werden sollte. Der Speicher 110 kann in Form von mehreren Speichereinheiten vorliegen, die durch das Host-System 104 verwendet werden.
-
Das Host-System 104 kann verschiedene Anwendungen ausführen, unter anderem den Hypervisor 102 und mehrere virtuellen Maschinen 112. Der Hypervisor 102 kann den Zugriff auf Datenverarbeitungsressourcen des Host-Systems 104 verwalten und als Virtueller Maschinenmonitor (VMM) fungieren, um den gleichzeitigen Betrieb der mehreren virtuellen Maschinen 112 an dem Host-System 104 zu unterstützen. Jede virtuelle Maschine 112 kann spezielle Guest-Betriebssysteme und mehrere Nutzersitzungen zum Ausführen von Software unterstützen, die im Hinblick auf die Guest-Betriebssysteme geschrieben wurde. So kann eine virtuelle Maschine 112 beispielsweise eine Instanz eines bestimmten Betriebssystems unterstützen, während eine andere virtuelle Maschine 112 eine Instanz eines anderen Betriebssystems ausführt. Es kann jeder beliebige Typ von Betriebssystem, das den Fachleuten bekannt ist, über virtuelle Maschinen 112 von dem Hypervisor 102 unterstützt werden.
-
Die Datenverarbeitungsressourcen des Host-Systems 104 können jede beliebige geeignete Hardware, Software und/oder Firmware beinhalten, die zum Aktivieren von Cloud-Datenverarbeitungsdiensten erforderlich ist, die den Benutzersystemen 106 bereitgestellt werden. Einige oder alle dieser Datenverarbeitungsressourcen sind möglicherweise für den Betrieb des Host-Systems 104 (z. B. für das Booten oder das Einschalten des Host-Systems) und zum Aktivieren von Diensten für die Benutzersysteme 106 in der Cloud-Datenverarbeitungsumgebung erforderlich. Zu beispielhaften Datenverarbeitungsressourcen gehören, ohne auf diese beschränkt zu sein, der Speicher 110, ein oder mehrere Eingabe/Ausgabe-(E/A-)Busmodule 114, ein oder mehrere Prozessoren 116, ein oder mehrere E/A-Kommunikationsmodule 117, ein Display-Adapter 118, ein Tastaturadapter 120, ein Mausadapter 122 und Ähnliches. Diese Datenverarbeitungsressourcen und weitere, die sich an dem Host-System 104 befinden oder auf die zur Verwendung durch ein Benutzersystem 104 zugegriffen werden kann, können durch den Hypervisor 102 zum Aktivieren eines Benutzersystems 106 zum Betreiben einer zugewiesenen virtuellen Maschine 112 verwendet werden.
-
Die Eingabe/Ausgabe-Kommunikationsmodule 117 können so konfiguriert sein, dass sie Daten an das Netzwerk 108 senden und von diesem empfangen. So können die Eingabe/Ausgabe-Kommunikationsmodule 117 beispielsweise die Übermittlung von Nachrichten zwischen Benutzersystemen 124 und dem Host-System 104 verwalten.
-
Zu solchen Nachrichten können beispielsweise Daten in Bezug auf Cloud-Datenverarbeitungsdienste gehören, die von dem Host-System 104 für die Benutzersysteme 124 bereitgestellt werden, wie dies den Fachleuten ersichtlich ist.
-
Gemäß Ausführungsformen der vorliegenden Erfindung kann das Host-System 104 ein Plattforminitialisierungsmodul 124 enthalten. Das Plattforminitialisierungsmodul 124 kann durch Hardware, Software, Firmware oder Kombinationen davon zum Initialisieren des Host-Systems 104, einem oder mehreren Benutzersystemen 124 Cloud-Datenverarbeitungsdienste bereitzustellen, implementiert werden. Das Plattforminitialisierungsmodul 124 kann zum Initialisieren von Datenverarbeitungsressourcen des Host-Systems 104 während des Boot-Vorgangs oder des Einschaltens gemäß Ausführungsformen der vorliegenden Erfindung verwendet werden.
-
Ein Teil der Datenverarbeitungsressourcen kann gesondert von anderen Datenverarbeitungsressourcen mit Initialisierungspriorität in Reaktion auf das Booten oder Einschalten des Host-Systems 104 identifiziert werden. Dieser Teil der Datenverarbeitungsressourcen kann zum Aktivieren von Diensten für Benutzersysteme in der Cloud-Datenverarbeitungsumgebung erforderlich sein. In Reaktion auf das Booten oder Einschalten des Host-Systems 104 kann das Plattforminitialisierungsmodul 124 eine oder mehrere Datenverarbeitungsressourcen zum wirksamen Aktivieren von Diensten für Benutzersysteme initialisieren. Die identifizierten Datenverarbeitungsressourcen können in einer vorgegebenen Reihenfolge initialisiert werden. Die identifizierten Datenverarbeitungsressourcen können enthalten: die Gesamtheit oder einen Teil des Speichers 112, das E/A-Busmodul 114, den Prozessor 116, den Display-Adapter 118, den Tastaturadapter 120, den Mausadapters 122, verschiedene weitere Datenverarbeitungsressourcen und Ähnliches, ohne auf diese beschränkt zu sein. Weitere Datenverarbeitungsressourcen wie beispielsweise, ohne auf diesen beschränkt zu sein, ein weiterer Teil des Speichers 112 können anschließend an oder gleichzeitig mit der Aktivierung von Diensten für die Benutzersysteme 124 initialisiert werden.
-
2 veranschaulicht ein Blockschaubild des Host-Systems 104 gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung. In diesem beispielhaften Blockschaubild wird zu Veranschaulichungszwecken Bezug genommen auf das Host-System 104, das in 1 dargestellt ist; dennoch sollte diese Bezugnahme auf das Beispiel von 1 nicht als einschränkend ausgelegt werden. Wie dies in 2 dargestellt ist, kann das Host-System 104 eine Vielzahl von Ebenen und Funktionen zum Bereitstellen der Nutzung der virtuellen Maschinen 112 für die Benutzersysteme 124 in der Cloud-Datenverarbeitungsumgebung enthalten. Das Host-System 104 kann eine Hardwareebene 200 mit dem Prozessor (z. B. eine CPU), einen Speicher-Controller 202 und den Speicher 110 enthalten. Der Prozessor 110 kann mit dem Speicher-Controller 202 interagieren, der das Schreiben von Daten auf und das Lesen von dem Speicher 110 steuern kann. Der Speicher 110 kann mehrere Speichermodulen enthalten, von denen jedes mehrere Speichereinheiten wie beispielsweise, ohne auf diese beschränkt zu sein, Direktzugriffsspeicher-(RAM-)Chips enthalten kann. Die Hardwareebene 200 kann darüber hinaus auch andere geeignete Hardware enthalten wie beispielsweise, ohne auf diese beschränkt zu sein, Datenübertragungskanäle, E/A-Anschlüsse, eine Uhr, Bussysteme und Controller. Der Prozessor 116 kann von einem Prozessor-Supportmodul 203 unterstützt werden, das sich oberhalb der Hardwareebene 200 befindet.
-
Der Hypervisor 102 befindet sich oberhalb der Hardwareebene 200 und unterstützt die Ausführung virtueller Maschinen. So kann der Hypervisor 102 beispielsweise die Ausführung von Guest-Betriebssystemen 204 der virtuellen Maschinen unterstützen. Ein virtualisiertes Boot-Dienstmodul 205 kann Booting-Funktionen und Support für die Guest-Betriebssysteme 204 bereitstellen. Des Weiteren kann der Hypervisor 102 sowohl für das gemeinsame Nutzen von Hardwareressourcen als auch für das Durchsetzen von Steuerungsregeln beruhend auf den verfügbaren Hardwareressourcen zuständig sein. In diesem Beispiel ist der Hypervisor 102 ein Typ-1-Hypervisor und läuft demzufolge im Supervisor-Modus oder im privilegierten Modus auf „bare metal”.
-
Das Host-System 104 kann einen Treiberstapel 206 enthalten, der von dem Hypervisor 102 zum Steuern des Betriebes der Hardwareressourcen verwendet wird. Des Weiteren kann das Host-System 104 Plattform-Firmware-Tabellen wie beispielsweise, ohne auf diese beschränkt zu sein, Advance Configuration and Power Interface-(ACPI-)Tabellen und System Management Basic Input/Output System-(SMBIOS-)Tabellen umfassen 208.
-
Wie dies vorstehend erwähnt wurde, werden in Bezug auf die begleitenden Zeichnungen beispielhafte Verfahren zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung beschrieben. Durch Verwendung dieser beispielhaften Verfahren und Systeme kann das Host-System Benutzersysteme zum schnellen und wirksamen Zugriff auf Dienste, die durch die Cloud-Datenverarbeitungsumgebung bereitgestellt werden, anschließend an oder gleichzeitig mit dem Boot-Up oder Hochfahren eines Host-Systems aktivieren. Für eine weiterführende Erläuterung stellt 3 einen Ablaufplan dar, der ein beispielhaftes Verfahren zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. In diesem beispielhaften Verfahren wird zu Veranschaulichungszwecken Bezug genommen auf das in den 1 und 2 dargestellte Host-System 104; dennoch sollte die Bezugnahme auf das Host-System 104 nicht als einschränkend ausgelegt werden.
-
In Bezug auf 3 beinhaltet das Verfahren ein Einschalten oder Booten 300 eines Host-Systems. So kann das in den 1 und 2 dargestellte Host-System 104 beispielsweise zum Bereitstellen von Cloud-Datenverarbeitungsdiensten eingeschaltet werden. In Reaktion auf das Einschalten oder Booten des Host-Systems kann ein Teil der Datenverarbeitungsressourcen, der zum Aktivieren von Diensten für ein oder mehrere Benutzersysteme in einer Cloud-Datenverarbeitungsumgebung identifiziert wurde, initialisiert werden 302. Dieser Teil der Datenverarbeitungsressourcen kann ein Teil sein, der in einer Datenstruktur dahingehend identifiziert wird, dass er für das Aktivieren des Hypervisor 102 zur Übernahme der Steuerung in der Datenverarbeitungsumgebung benötigt wird. Das Plattforminitialisierungsmodul 124 kann den Teil der Datenverarbeitungsressource initialisieren, der in der Datenstruktur identifiziert wurde. Speicher, Hardware-Ressourcen, ein Prozessor, ein Eingabe/Ausgabe-E/A-)Busmodul, ein Display-Adapter, ein Tastaturadapter, ein Mausadapter, Kombinationen davon und Teile davon können in einem Speicher dahingehend identifiziert oder spezifiziert werden (z. B. in einem nichtflüchtigen Speicher wie einem Flash-Speicher), dass sie zum Aktivieren des Hypervisor 102 zur Übernahme der Steuerung in der Datenverarbeitungsumgebung benötigt werden. Der Hypervisor kann so konfiguriert sein, dass er dem Benutzersystem eine Umgebung zum Ausführen von Anwendungen in der Cloud-Datenverarbeitungsumgebung bereitstellt. Des Weiteren kann der Hypervisor einen Kernel, eine Speicherverwaltungsfunktion, einen Treiber, Kombinationen davon oder jede andere beliebige Hardware, Software und/oder Firmware zum Bereitstellen der Umgebung verwenden. Das Plattforminitialisierungsmodul 124 kann auf die Datenstruktur zum Erkennen der Ressourcen zugreifen, die identifiziert worden sind. In einem Beispiel können diese identifizierten Ressourcen mit einer hohen Initialisierungspriorität so bereitgestellt werden, dass den Benutzersystemen die Cloud-Datenverarbeitungsressourcen nach dem Einschalten oder Booten schnell und wirksam bereitgestellt werden können.
-
Das Verfahren von 3 beinhaltet ein Aktivieren 304 von Diensten für ein oder mehrere Benutzersysteme. So kann beispielsweise nach erfolgtem Initialisieren der identifizierten Ressourcen der Hypervisor 102 zum Bereitstellen virtueller Maschinen 112 zur Verwendung durch die Benutzersysteme 124 aktiviert werden. Das Host-System 104 kann anschließend einem oder mehreren Benutzersystemen Cloud-Datenverarbeitungsdienste bereitstellen. So kann das Host-System 104 die virtuellen Maschinen laden und ausführen.
-
Das Verfahren von 3 beinhaltet ein Initialisieren 308 eines weiteren Teil es der Datenverarbeitungsressourcen. Dieser andere Teil der Datenverarbeitungsressourcen kann entweder anschließend an oder gleichzeitig mit dem Aktivieren von Diensten für die Benutzersysteme initialisiert werden. So können beispielsweise andere Teile des Speichers, von Hardware-Ressourcen, Software-Ressourcen, Firmware-Ressourcen und Kombinationen davon initialisiert werden, während den Benutzersystemen Cloud-Datenverarbeitungsdienste bereitgestellt werden. Das Host-System 104 kann in einem abgemagerten oder teilweise eingeschränkten Modus so lange arbeiten, bis alle oder weitere Teile der Datenverarbeitungsressourcen des Host-Systems 104 verfügbar sind.
-
4 stellt einen Ablaufplan dar, der ein weiteres beispielhaftes Verfahren zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. In diesem beispielhaften Verfahren wird zu Veranschaulichungszwecken Bezug genommen auf das Host-System 104, das in den 1 und 2 dargestellt ist; dennoch sollte diese Bezugnahme auf das Host-System 104 nicht als einschränkend ausgelegt werden. Das Verfahren von 4 kann das Einschalten oder Booten 400 eines Host-Systems und Initialisieren 402 eines Prozessors beinhalten. So kann das in den 1 und 2 dargestellte Host-System 104 beispielsweise eingeschaltet und der Prozessor 116 initialisiert werden.
-
Das Verfahren von 4 beinhaltet ein Initialisieren einer vorgegebenen Größe von Speicher, der zum Aktivieren von Diensten für ein Benutzersystem in der Cloud-Datenverarbeitungsumgebung identifiziert wurde. Beispielsweise kann das Plattforminitialisierungsmodul 124 einen Teilbereich eines RAM initialisieren 404. Der RAM kann eine vorgegebene Größe eines Speichers aufweisen wie beispielsweise einen festgelegten Teil des Speichers 110, der in den 1 und 2 dargestellt ist. Die identifizierte oder festgelegte Größe des RAM kann einer Menge entsprechen, die zum Betreiben des Hypervisor ausreichend ist. In einem Beispiel beträgt dieser Teilbereich des RAM einige wenige Megabytes in einem System von einhundert Gigabytes an Speicherplatz.
-
Das Verfahren von 4 beinhaltet Initialisieren 406 eines Hypervisor. So können beispielsweise ein Basiskernel und die Speicherverwaltung des Hypervisor initialisiert werden. Des Weiteren können bestimmte Laufwerke aktiviert werden, wie beispielsweise, ohne auf dieses beschränkt auf, das Aktivieren von E/A-Bus-Chips.
-
Das Verfahren von 4 beinhaltet ein Initialisieren 408 eines E/A-Busses, der zum Aktivieren von Diensten für ein Benutzersystem in der Cloud-Datenverarbeitungsumgebung identifiziert wurde. Das Initialisieren von E/A-Bussen kann so lange fortgesetzt werden, bis jeder identifizierte E/A-Bus initialisiert worden ist.
-
Ein Teil oder die Gesamtheit des RAM oder der anderen Speicher, die noch nicht initialisiert worden sind, können initialisiert werden 410. Das Initialisieren dieser anderen Speicher kann anschließend an oder gleichzeitig mit dem Initialisieren des identifizierten E/A-Bus in Block 408 oder mit dem Initialisieren einer oder mehrerer Benutzereinheiten erfolgen, wie dies nachstehend beschrieben wird. Auf diese Weise können Datenverarbeitungsressourcen, die dahingehend identifiziert wurden, dass sie zum Bereitstellen von Datenverarbeitungsdiensten gemäß Ausführungsformen der vorliegenden Erfindung benötigt werden, vor den anderen Datenverarbeitungsressourcen initialisiert werden.
-
Das Verfahren von 4 beinhaltet ein Initialisieren einer Benutzereinheit, die für das Aktivieren von Diensten für ein Benutzersystem in der Cloud-Datenverarbeitungsumgebung identifiziert wurde. Das Initialisieren von Benutzereinheiten kann so lange fortgesetzt werden, bis jede identifizierte Benutzereinheit initialisiert worden ist. Solche Einheiten können jene sein, die direkt mit dem Interagieren mit einem Benutzersystem in Verbindung stehen, wodurch Benutzerinteraktion aktiviert wird. Des Weiteren können solche Benutzereinheiten von der Systemkonfiguration abhängen. Zu beispielhaften Einheiten gehören, ohne auf diese beschränkt zu sein, ein Networking-Adapter, ein Display-Adapter, ein Tastaturadapter und ein Mausadapter. Darüber hinaus gehören zu anderen Einheiten, die initialisiert werden können, beispielsweise, ohne auf diese beschränkt zu sein, ein DVD-Laufwerk, einen FiberChannel-Adapter, zusätzliche Networking-Adapter und Ähnliche.
-
Es können weitere Benutzereinheiten, die nicht zum Aktivieren von Diensten für ein Benutzersystem in der Cloud-Datenverarbeitungsumgebung identifiziert worden sind, initialisiert werden 414. Das Initialisieren dieser anderen Benutzereinheiten kann anschließend an oder gleichzeitig mit dem Initialisieren der einen oder mehreren Benutzereinheiten in Block 412 erfolgen. Auf diese Weise können Datenverarbeitungsressourcen, die dahingehend identifiziert wurden, dass sie zum Bereitstellen von Datenverarbeitungsdiensten gemäß Ausführungsformen der vorliegenden Erfindung benötigt werden, vor den anderen Datenverarbeitungsressourcen initialisiert werden.
-
Das Verfahren von 4 beinhaltet ein Aktivieren 416 von Diensten für ein oder mehrere Benutzersysteme. Beispielsweise kann nach dem Initialisieren der identifizierten Ressourcen der Hypervisor 102 aktiviert werden, um virtuelle Maschinen 112 zur Verwendung durch die Benutzersysteme 124 bereitzustellen. Das Host-System 104 kann anschließend einem oder mehreren der Benutzersysteme Cloud-Datenverarbeitungsdienste bereitstellen.
-
Gemäß einer oder mehrerer Ausführungsformen kann ein Plattforminitialisierungsmodul ein Profil und eine Erkennungsfunktion implementieren. Diese Funktion kann einen Hypervisor zur Übernahme der Steuerung zum Bereitstellen von Diensten in einer Cloud-Datenverarbeitungsumgebung aktivieren. Das Profil kann in dem Speicher eines Host-Systems gespeichert werden und Datenverarbeitungsressourcen identifizieren oder festlegen, die zum Aktivieren des Zugriffs auf die Cloud-Datenverarbeitungsumgebung benötigt werden. Die Datenverarbeitungsressourcen können auf diese Weise identifiziert werden, so dass ihnen Initialisierungspriorität im Anschluss an das Booten oder Einschalten des Host-Systems eingeräumt werden kann.
-
In einem beispielhaften Profil kann jede der Datenverarbeitungsressourcen als „KRITISCH” oder „NICHTKRITISCH” spezifiziert werden. Wird eine Datenverarbeitungsressource als „KRITISCH” spezifiziert, muss die Datenverarbeitungsressource zur Initialisierung verfügbar sein, oder anderenfalls verbietet das Plattforminitialisierungsmodul, dass Benutzersystemen Cloud-Datenverarbeitungsdienste bereitgestellt werden. Darüber hinaus kann in dem Fall, in dem eine als „KRITISCH” spezifizierte Datenverarbeitungsressource nicht verfügbar ist, eine Fehlerbedingung auftreten. Wird eine Datenverarbeitungsressource als „NICHTKRITISCH” spezifiziert, muss die Datenverarbeitungsressource nicht unmittelbar zum Bereitstellen von Cloud-Datenverarbeitungsressourcen für ein Host-System verfügbar sein. In dem Fall, in dem eine „NICHTKRITISCHE” Datenverarbeitungsressource nicht verfügbar ist, kann der Initialisierungsprozess anderer Datenverarbeitungsressourcen fortgesetzt werden, und Datenverarbeitungsressourcen können einem Host-System selbst dann bereitgestellt werden, wenn die „NICHTKRITISCHE” Datenverarbeitungsressource nicht verfügbar ist.
-
Es folgt eine Tabelle, die ein beispielhaftes Profil darstellt:
Datenverarbeitungsressource | Kritisch? | Beschreibung |
Speicher | KRITISCH | 1 GB an RAM |
Display-Adapter | NICHTKRTISCH | Bevorzugt: eingebautes Video
Alternative 1: Video-Erkennung
Alternative 2: serielle Ausgabe |
Tabelle 1: Beispielhaftes Profil zum Identifizieren von Datenverarbeitungsressourcen zum Aktivieren des Zugriffs auf die Cloud-Datenverarbeitungsumgebung
-
Wie in Tabelle 1 dargestellt ist, werden zwei Datenverarbeitungsressourcen durch das beispielhafte Profil identifiziert: 1 GB an RAM; und verschiedene Typen von Display-Adaptern. Der RAM wird als „KRITISCHE” Datenverarbeitungsressource spezifiziert. Das Plattforminitialisierungsmodul kann eine Erkennungsfunktion zum Ermitteln verwenden, ob das spezifizierte 1 GB an RAM verfügbar ist. Wenn die spezifizierte Menge an RAM verfügbar ist, kann der RAM gemäß den Ausführungsformen der vorliegenden Erfindung initialisiert werden. Ist die spezifizierte Menge an RAM nicht verfügbar, kann eine Fehlerbedingung auftreten.
-
Ebenfalls in dem Profil in Tabelle 1 dargestellt ist ein Display-Adapter, der als „NICHTKRITISCHE” Datenverarbeitungsressource spezifiziert wird. Das Profil spezifiziert darüber hinaus, dass das eingebaute Video der bevorzugte Display-Adapter ist. Das Plattforminitialisierungsmodul kann E/A-Busse in dem Host-System für den eingebauten Video-Display-Adapter scannen. Wird der Display-Adapter gefunden, kann das Plattforminitialisierungsmodul den eingebauten Video-Display-Adapter initialisieren. Wird dieser Display-Adapter nicht gefunden, kann das Plattforminitialisierungsmodul zunächst nach der spezifizierten Alternative 1 scannen und diesen Display-Adapter initialisieren, wenn er gefunden wird. Wird der Display-Adapter der Alternative 1 nicht gefunden, kann das Plattforminitialisierungsmodul nach der spezifizierten Alternative 2 scannen und diesen Display-Adapter initialisieren, wenn er gefunden ist. Wird kein spezifizierter Display-Adapter gefunden, wird gar kein Display-Adapter initialisiert, da der Display-Adapter in dem Profil als „NICHTKRITISCH” spezifiziert ist. Nach dem Initialisieren der Datenverarbeitungsressourcen, die in dem Profil spezifiziert sind oder nach keiner Initialisierung, da sie nicht gefunden worden und „NICHTKRITISCH” sind, können den Benutzersystemen Cloud-Datenverarbeitungsdienste gemäß Ausführungsformen der vorliegenden Erfindung bereitgestellt werden.
-
5 stellt einen Ablaufplan dar, der ein weiteres beispielhaftes Verfahren zum Aktivieren eines Hypervisor zur Übernahme der Steuerung in einer Cloud-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. In diesem Verfahren wird zu Veranschaulichungszwecken Bezug genommen auf das in den 1 und 2 dargestellte Host-System 104; dennoch sollte die Bezugnahme auf das Host-System 104 nicht als einschränkend ausgelegt werden. Das Verfahren von 5 kann Einschalten oder Booten 500 eines Host-Systems beinhalten. Das Verfahren von 5 kann des Weiteren ein Initialisieren 502 eines Prozessors und eines Speichers in dem Host-System beinhalten. Beispielsweise können ein oder mehrere Prozessoren und die Gesamtheit oder ein vorgegebener Teil des Speichers in dem Host-System 100 initialisiert werden.
-
Das Verfahren von 5 beinhaltet ein Aktivieren 504 eines Typ-1-Hypervisor, der sich an dem Host-System befindet und so konfiguriert ist, dass er einem oder mehreren Benutzersystemen in einer Cloud-Datenverarbeitungsumgebung Cloud-Datenverarbeitungsdienste bereitstellt. So kann beispielsweise direkt nach dem Initialisieren des Prozessors und des Speichers ein Typ-1-Hypervisor wie der in den 1 und 2 dargestellte Hypervisor 102 aktiviert werden.
-
Das Verfahren von 5 kann ein Initialisieren 506 eines oder mehrerer Prozessoren und anderer Speicherteile beinhalten. Diese anderen Prozessoren und Speicher wurden möglicherweise nicht zum Aktivieren des Hypervisor benötigt. Aus diesem Grund können sie anschließend an das oder gleichzeitig mit dem Aktivieren des Hypervisor initialisiert werden, so dass Benutzersystemen schnell nach dem Booten oder Einschalten des Host-Systems Cloud-Datenverarbeitungsdienste bereitgestellt werden können. Des Weiteren können beispielsweise ein oder mehrere E/A-Busmodule anschließend an das Aktivieren des Hypervisor initialisiert werden. In einem anderen Beispiel können nach dem Initialisieren des Hypervisor verschiedene andere Systemaufgaben durch das Host-System wie beispielsweise ein Initialisieren verschiedener Adapter durchgeführt werden.
-
Das Verfahren von 5 beinhaltet ein Verwenden des Typ-1-Hypervisor zum Betreiben der Benutzersysteme. So kann beispielsweise der Hypervisor 102, der in den 1 und 2 dargestellt ist, Guest-Betriebssysteme 204 zur Nutzung durch die Benutzersysteme 106 verwalten und bereitstellen. In einem anderen Beispiel kann der Hypervisor 102 die virtuellen Maschinen 112 zur Nutzung durch die Benutzersysteme 106 bereitstellen. Jede virtuelle Maschine kann in der Lage sein, eine Arbeitslast auszuführen. Des Weiteren kann jede virtuelle Maschine einen Mailserver, einen Webserver ein Accounting-System und Ähnliches zur Verwendung durch ein Benutzersystem enthalten, ohne auf diese Beispiele beschränkt zu sein.
-
Wie dies den Fachleiten ersichtlich ist, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgebildet sein. Dementsprechend können Aspekte der Ausführungsformen als eine vollständige Hardware-Ausführungsform, eine vollständige Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) ausgebildet sein oder als eine Ausführungsform, die Software- und Hardwareaspekte kombiniert, die allesamt im Allgemeinen hierin als „Schaltung”, „Modul” oder System bezeichnet werden können. Des Weiteren können Aspekte der Ausführungsformen als ein Computerprogrammprodukt ausgebildet sein, das in einem oder mehreren computerlesbaren Medium oder Medien mit darin enthaltenen computerlesbaren Programmcodes ausgebildet sind. In einem Beispiel kann sich die Gesamtheit oder ein Teil des Computerprogrammproduktes an einem Host-System befinden, darunter, ohne auf dieses beschränkt zu sein, das in den 1 und 2 dargestellte Host-System 104. Das Computerprogrammprodukt kann in der Gesamtheit oder einem Teil des Speichers 110 ausgebildet sein. Es kann jede beliebige Kombination aus einem oder mehreren computerlesbaren Medium oder Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein (darunter, jedoch nicht beschränkt darauf, nichtflüchtige computerlesbare Speichermedien). Ein computerlesbares Speichermedium kann zum Beispiel unter anderem ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, solche Vorrichtung oder Einheit oder jede beliebige geeignete Kombination der vorstehend Genannten sein. Konkretere Beispiele (eine ergänzbare Liste) des computerlesbaren Speichermediums würden beinhalten: eine elektrische Verbindung mit einer oder zwei Leitungen, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen elektronisch löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Memory), einen Lichtwellenleiter, einen tragbaren CD-Nur-Lesespeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige Kombination der vorstehend Genannten. Im Kontext dieses Dokumentes kann ein computerlesbares Speichermedium jegliches materielle Medium sein, das ein Programm zur Verwendung durch ein oder im Zusammenhang mit einem Befehlsausführungssystem, einer solchen Vorrichtung oder Einheit ein Programm enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein weitergegebenes Datensignal mit einem darin enthaltenen, computerlesbaren Programmcode, beispielsweise in Basisband oder als Teil einer Trägerwelle sein. Solch ein weitergegebenes Signal kann jede beliebige einer Reihe verschiedener Formen, darunter, jedoch nicht darauf beschränkt, elektromagnetische, optische oder jede beliebige geeignete Kombination daraus umfassen. Ein computerlesbares Signalmedium kann jegliches computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder im Zusammenhang mit einem Befehlsausführungssystem, solcher Vorrichtung oder Einheit ein Programm übertragen, weitergeben oder senden kann.
-
Ein in einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines jeden beliebigen geeigneten Mediums, unter anderem drahtlos, drahtgebunden, Lichtwellenleiter, HF usw. oder einer jeden beliebigen geeigneten Kombination der vorstehend Genannten gesendet werden.
-
Der Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder beliebigen Kombination aus einer oder mehreren Programmiersprachen, unter anderem einer objektorientierten Programmiersprache wie beispielsweise JavaTM, Smalltalk, C++ oder Ähnlichen und herkömmlichen prozeduralen Programmiersprachen wie beispielsweise die ”C”-Programmiersprache oder ähnlichen Programmiersprachen, geschrieben werden. (Java und alle auf Java beruhenden Handelsmarken und Logos sind Handelsmarken oder eingetragene Handelsmarken von Oracle und/oder seinen angegliederten Unternehmen). Der Programmcode kann gänzlich auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder gänzlich auf dem fernen Computer oder Server ausgeführt werden. In dem letzten Szenario kann der ferne Computer über jede beliebige Art von Netzwerk, unter anderem ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann zu einem externen Computer (beispielsweise über das Internet unter Verwendung eines Internet-Diensteanbieters) hergestellt werden.
-
Hierin werden Aspekte der vorliegenden Erfindung in Bezug auf die Veranschaulichungen der Ablaufpläne und/oder die Blockschaltbilder der Verfahren, Vorrichtungen (Systeme) und Computerprogrammprodukte gemäß Ausführungsformen der Erfindung beschrieben. Beispielsweise werden Aspekte der vorliegenden Erfindung in Bezug auf die Blockschaltbilder der 1 und 2 und der Ablaufpläne der 3, 4 und 5 beschrieben. Es ist offensichtlich, dass jeder Block der Veranschaulichungen der Ablaufpläne und/oder der Blockschaltbilder sowie Kombinationen aus Blöcken in den Veranschaulichungen der Ablaufpläne und/oder der Blockschaltbilder von Computerprogrammanweisungen implementiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universal-Computers, Spezial-Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, und zwar so, dass mit den Anweisungen, die über den Prozessor des Computers oder andere Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zur Implementierung der in dem Ablaufplan und/oder dem/den Block/Blöcken der Blockschaltbilder spezifizierten Funktionen/Schritte geschaffen werden.
-
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden und leiten einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten an, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel produzieren, der die Anweisungen enthält, mit denen die/der in dem Ablaufplan und/oder dem/den Block oder Blöcken der Blockschaltbilder spezifizierten Funktion/Schritt implementiert wird.
-
Die Computerprogrammanweisungen können auch auf einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten geladen werden, um eine Reihe von Arbeitsschritten zu veranlassen, die auf dem Computer, anderen programmierbaren Datenverarbeitungsvorrichtungen oder Einheiten auszuführen sind, um ein computerimplementiertes Verfahren so zu schaffen, dass die Anweisungen, die auf dem Computer oder anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zum Implementieren der in dem Ablaufplan und/oder dem/den Block oder Blöcken des Blockschaltbildes spezifizierten Funktionen/Schritte bereitstellen.
-
Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und Betriebsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaltbildern ein Modul, Segment oder Codeabschnitt darstellen, der eine oder mehrere Anweisungen zum Implementieren der spezifizierten logischen Funktion(en) aufweist. Es sollte darüber hinaus beachtet werden, dass in einigen alternativen Implementierungen die in dem Block vermerkten Funktionen außerhalb der in den Figuren dargestellten Reihenfolge auftreten können. So können beispielsweise zwei Blöcke, die nacheinander dargestellt sind, im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal auch in umgekehrter Reihenfolge je nach der involvierten Funktion ausgeführt werden. Es wird darüber hinaus auch bemerkt, dass jeder Block der Blockschaltbilder und/oder Ablaufplanveranschaulichung und Kombinationen von Blöcken in den Blockschaltbildern und/oder Ablaufplanveranschaulichung durch spezielle Systeme auf der Grundlage von Hardware implementiert werden können, die die spezifizierten Funktionen oder Schritte oder Kombinationen von speziellen Hardware- und Computeranweisungen ausführen.
-
Die hierin verwendete Terminologie dient lediglich dem Zwecke der Beschreibung bestimmter Ausführungsformen und beabsichtigt keine Beschränkung der Erfindung. In ihrer hierin verwendeten Form meinen die Singularformen „ein”, „eine”, und „der(/die/das)” ebenso die Pluralformen, es sei denn der Kontext gibt etwas Anderes vor. Des Weiteren ist offensichtlich, dass die Begriffe „weist auf” und/oder „aufweisend”, wenn sie in dieser Spezifizierung verwendet werden, das Vorhandensein von dargestellten Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder die Hinzufügung einer oder mehrerer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
-
Die entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Schritte sowie Funktionselemente in den folgenden Ansprüchen beabsichtigen die Einbeziehung jeglicher Struktur, Materials oder Schritt zum Ausführen der Funktion in Kombination mit anderen beanspruchten Elementen in ihrer speziell beanspruchten Form. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung dargestellt, sie beabsichtigt jedoch weder Anspruch auf Vollständigkeit noch Beschränkung der Erfindung in ihrer offenbarten Form. Den Fachleuten sind viele Modifizierungen und Varianten offensichtlich, ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsform wurde ausgewählt und beschrieben, um am besten die Grundgedanken der Erfindung und die praktische Anwendung zu erläutern und andere Fachleute dazu zu befähigen, die Erfindung für verschiedenen Ausführungsformen mit verschiedenen Modifizierungen zu verstehen, die für die bestimmte angestrebte Verwendung geeignet sind.
-
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
-
- Abhandlung „Breakthrough Security Capabilities and Energy-Efficient Performance for Cloud Computing Infrastructures” [0006]
- Abhandlung „IBM® WebSphere® Application Server Hypervisor Edition” von der IBM Corporation, Juni 2009 [0007]
- Abhandlung „Supporting Cloud Computing with Virtual Block Storage System” von Xiaoming Gao, Mike Lowe, Yu Ma and Marlon Pierce (2009 Fifth IEEE International Conference an e-Science) [0008]