DE102012221512B4 - Steuern der Verwendung virtueller Festplatten vor deren Anbindung an virtuelle Maschinen - Google Patents

Steuern der Verwendung virtueller Festplatten vor deren Anbindung an virtuelle Maschinen Download PDF

Info

Publication number
DE102012221512B4
DE102012221512B4 DE102012221512.3A DE102012221512A DE102012221512B4 DE 102012221512 B4 DE102012221512 B4 DE 102012221512B4 DE 102012221512 A DE102012221512 A DE 102012221512A DE 102012221512 B4 DE102012221512 B4 DE 102012221512B4
Authority
DE
Germany
Prior art keywords
hard disk
virtual
new
virtual hard
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102012221512.3A
Other languages
English (en)
Other versions
DE102012221512A1 (de
Inventor
Mauro Arcese
Giuseppe Ciano
Luigi Pichetti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012221512A1 publication Critical patent/DE102012221512A1/de
Application granted granted Critical
Publication of DE102012221512B4 publication Critical patent/DE102012221512B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren (A1 bis A20) zum Steuern der Verwendung virtueller Festplatten (110; 225) in einem Datenverarbeitungszentrum (100), das einen Satz von virtuellen Maschinen (220) beherbergt, wobei jede virtuelle Festplatte einen Satz von Softwareartefakten aufweist, wobei jede virtuelle Maschine eine daran angebundene virtuelle Systemfestplatte besitzt, wobei die virtuelle Systemfestplatte ein Gastbetriebssystem der virtuellen Maschine aufweist, wobei das Verfahren die Schritte aufweist des:Erkennens (A1) einer Anfrage des Hinzufügens einer neuen, einen Satz neuer Softwareartefakte aufweisenden virtuellen Festplatte (225n) zu einer ausgewählten virtuellen Maschine (220s) der virtuellen Maschinen,Ermittelns (A2 bis A4) von Zusammensetzungsinformationen der neuen virtuellen Festplatte, wobei die Zusammensetzungsinformationen der neuen virtuellen Festplatte eine Angabe der neuen Softwareartefakte aufweisen,Abrufens (A5) einer Angabe von Verwendungsberechtigungen der neuen Softwareartefakte im Datenverarbeitungszentrum,Ermöglichens oder Verhinderns (A6) der Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine gemäß einem Vergleich zwischen den Zusammensetzungsinformationen der neuen virtuellen Festplatte und den Verwendungsberechtigungen der neuen Softwareartefakte,Anbindens (A7 bis A12) der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine als Reaktion auf dessen Ermöglichen, wobei der Schritt des Anbindens (A7 bis A12) der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine das Aktivieren (A9 bis A12) der neuen Softwareartefakte durch Anwenden eines in der neuen virtuellen Festplatte enthaltenen Aktivierungsmoduls aufweist, in dem ein Deaktivierungsmodul der neuen Softwareartefakte von der neuen virtuellen Festplatte auf die virtuelle Systemfestplatte der ausgewählten virtuellen Maschine kopiert (A9) wird,Aktualisierens (A13) der Verwendungsberechtigungen der neuen Softwareartefakte als Reaktion auf die Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine,Erkennens (A15) einer Anfrage des Entfernens einer alten, einen Satz alter Softwareartefakte aufweisenden virtuellen Festplatte (225o) von einer weiteren ausgewählten virtuellen Maschine (220o) der virtuellen Maschinen,Aufhebens der Anbindung (A16 bis A18) der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine, wobei der Schritt des Aufhebens der Anbindung (A16 bis A18) der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine ein Deaktivieren (A16 bis A17) der alten Softwareartefakte aufweist, indem das entsprechende Deaktivierungsmodul von der virtuellen Systemfestplatte der weiteren ausgewählten virtuellen Maschine gestartet wird,Ermittelns (A19) von Zusammensetzungsinformationen der alten virtuellen Festplatte, wobei die Zusammensetzungsinformationen der alten virtuellen Festplatte eine Angabe der alten Softwareartefakte aufweisen, undAktualisierens (A20) der Verwendungsberechtigungen der alten Softwareartefakte als Reaktion die Aufhebung der Anbindung der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine.

Description

  • Technisches Gebiet
  • Die Lösung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung betrifft das Gebiet der Datenverarbeitung. Genauer betrifft diese Lösung das Steuern der Verwendung virtueller Festplatten.
  • Hintergrund
  • Virtualisierungstechniken sind in modernen Datenverarbeitungszentren allgemeiner Standard; ein typisches Beispiel stellt die Realisierung virtueller Maschinen (d.h. Emulationen durch Software physischer Maschinen) dar. Die virtuellen Maschinen können in einer Anzahl von Anwendungen verwendet werden - zum Beispiel zum Einsetzen virtueller Appliances. Bei einer virtuellen Appliance handelt es sich um eine Softwarelösung, die eine oder mehrere virtuelle Maschinen aufweist, von denen jede ein oder mehrere Anwendungsprogramme (zum Durchführen spezifischer Benutzeraufgaben) und ein Just-Enough-Betriebssystem oder JeOS besitzt (d.h. ein eingeschränktes Betriebssystem, das spezifisch auf das Unterstützen der Anwendungsprogramme zugeschnitten ist). Die virtuelle Appliance ist in ein zuvor aufgebautes eigenständiges Paket eingekapselt, das als Einheit verwaltet wird; dies stellt eine vereinfachte Verwaltung (d.h. Entwicklung, Einsatz und Unterhalt) bereit und ermöglicht auf eine sehr schnelle Weise ein Bereitstellen entsprechender sofort verwendbarer Softwaredienste.
  • Als weiterer Vorteil kann jede virtuelle Maschine in mehrere virtuelle Festplatten untergliedert werden (von denen jede eine physische Festplatte emuliert). Jede virtuelle Festplatte kann als entsprechendes Abbild (image) einer virtuellen Festplatte bereitgestellt werden (d.h. eine physische Datei, welche die gesamte virtuelle Festplatte festlegt).
  • Auf diese Weise ist es zum Beispiel möglich, das Betriebssystem von den Anwendungsprogrammen der virtuellen Maschine zu trennen. Dies vereinfacht den Unterhalt der Anwendungsprogramme; in der Tat ist es nun möglich, eine neue virtuelle Festplatte mit einer aktualisierten Version der Anwendungsprogramme herunterzuladen, die virtuelle Maschine offline zu nehmen, die virtuelle Festplatte der Anwendungsprogramme zu ersetzen und dann die virtuelle Maschine wieder online zu nehmen. Darüber hinaus ermöglicht dies ein Ändern des Betriebssystems der virtuellen Maschine durch einfaches Ersetzen ihrer virtuellen Festplatte. Zudem oder alternativ dazu ist es ebenfalls möglich, die Anwendungsprogramme für ihre Ausführungskomponenten (d.h. Binärdateien) und Datenkomponenten (d.h. Konfigurations- und/oder Datendateien) auf unterschiedliche virtuelle Festplatten aufzuteilen; dies ermöglicht ein Aktualisieren der Ausführungskomponenten der Anwendungsprogramme durch einfaches Ersetzen der entsprechenden virtuellen Festplatten, ohne dass ihre Datenkomponenten verloren gehen.
  • Ein Problem bei der Aufteilung der virtuellen Maschinen auf mehrere virtuelle Festplatten stellt die Schwierigkeit dar, die Verwendung von deren Anwendungsprogrammen (oder jeden anderen Softwareartefakten) zu steuern, um die Konformität mit Lizenzberechtigungen (oder jeden anderen Verwendungsberechtigungen) sicherzustellen, die für das Datenzentrum gelten. Dieses Problem ist besonders akut bei großen virtuellen Appliances - die zum Beispiel der dienstorientierten Architektur (Service Oriented Architecture SOA) entsprechen (die ein Paket lose verbundener Dienste bereitstellt). In der Tat kann in diesem Fall jede virtuelle Appliance mehrere Anwendungsebenen aufweisen, von denen jede wiederum mehrere virtuelle Maschinen aufweist (zum Beispiel eine typische Webanwendung mit einer Webebene, die eine Präsentationslogik realisiert, einer Anwendungsserverebene, die eine Geschäftslogik realisiert, und eine rückwärtige Datenbankebene, die eine Datenverwaltungslogik realisiert).
  • Um die Verwendung der in den unterschiedlichen virtuellen Festplatten enthaltenem Anwendungsprogramme zu steuern, ist es möglich, ein Standardlizenzierungswerkzeug zu verwenden, das mit jeder virtuellen Maschine und möglicherweise mit einer zugrundeliegenden, diese beherbergenden (hosting) Hardware interagiert. Zum Beispiel werden in US-A-2007/018450 und US-A-2009/0328225 (deren vollständige Offenbarungen durch Bezugnahme hierin aufgenommen werden) Techniken zum Überprüfen beschrieben, ob gemäß den verfügbaren Lizenzberechtigungen eine gegebene Softwareanwendung in einer virtuellen Maschine gestartet werden kann. Darüber hinaus wird in US-A-2011/0047624 (dessen vollständige Offenbarung durch Bezugnahme hierin aufgenommen wird) die Verwendung eines Bindeagenten beschrieben, der Daten mit einem Lizenzdurchsetzungsmodul austauscht, das in jeder virtuellen Maschine enthalten ist; der Bindeagent verbindet die Lizenzdurchsetzungsmodule in wechselseitiger Ausschließung mit der zugrundeliegenden (zum Beispiel eindeutig durch ihre MAC-Adresse definierten) Hardware, um sicherzustellen, dass jederzeit nur ein einziges Lizenzdurchsetzungsmodul auf dieser Hardware ausgeführt werden darf.
  • Die vorgenannten Techniken erfordern jedoch die Modifikation der virtuellen Maschinen (um zum Beispiel entsprechende Lizenzierungsagenten einzufügen).
  • In jedem Fall ist dafür erforderlich, dass jede neue virtuelle Festplatte an eine entsprechende virtuellen Maschine angebunden werden sollte, bevor die Konformität ihrer Anwendungsprogramme mit den verfügbaren Lizenzberechtigungen überprüft wird (so dass entsprechende Aktionen - wie zum Beispiel das Verhindern ihrer Ausführung - unternommen werden können).
  • Die US 2011 / 0 179 268 A1 betrifft ein Verfahren, das in einem Dienst zur Erstellung von Anwendungspaketen implementiert ist, wobei das Verfahren Folgendes umfasst: das Erhalten einer oder mehrerer Dateien einer Anwendung; Konfigurieren der einen oder mehreren Dateien als virtuelles Speichervolumen; und Erzeugen eines Anwendungspakets durch Verschlüsseln, unter Verwendung eines Verschlüsselungsschlüssels, der einen oder mehreren Dateien, die als ein virtuelles Speichervolumen konfiguriert sind, wobei ein Lizenzerzeugungsmodul eine Lizenz erzeugen kann, die sowohl eine Nutzungsrichtlinie für die Anwendung als auch den Verschlüsselungsschlüssel enthält.
  • Die US 2010 / 0 205 303 A1 betrifft eine Vorrichtung, umfassend: einen Server-Knoten; und ein Empfängermodul für Zustandsänderungen von virtuellen Maschinen, um Berichte am Server-Knoten zu empfangen, wobei die Berichte eine Änderung des Status der virtuellen Maschine für virtuelle Maschinen anzeigen, die auf einem Host-Knoten der virtuellen Maschine gehostet werden, wobei der Server-Knoten den virtuellen Maschinen auf Grundlage der Änderung des Status der virtuellen Maschine Softwarelizenzen zuweist oder entzieht.
  • Die US 2011 / 0 072 431 A1 betrifft ein System zur nutzungsbasierten Applikationslizenzierung in einer virtuellen Hypervisor-Ausführungsumgebung, das Folgendes umfasst: eine Vielzahl physischer Rechner, wobei jeder physische Rechner Ressourcen, die mindestens einen Prozessor und ein Speicherelement enthalten, aufweist, wobei jeder physische Rechner weiter einen Hypervisor, der die Ressourcen dieses physischen Rechners virtualisiert, enthält; eine Appliance-Builder-Software zur Nutzung beim Erzeugen bootfähiger Maschinen-Images und zum Einsatz der Images als Image-Instanzen zur Ausführung in den jeweiligen Hypervisoren der Vielzahl physischer Rechner in der virtuellen Ausführungsumgebung, wobei die Appliance-Builder-Software konfiguriert ist, um mehrere lizenzierbare Komponenten in einem bootfähigen Maschinen-Image zu kombinieren und als Metadaten in der bootfähigen Maschinen-Image-Instanz eine Kombinationsanteilgewichtung, die Gewichtungen für die mehreren lizenzierbaren Komponenten in dem bestimmten bootfähigen Maschinen-Image definiert, einzubetten; und eine Management-Framework-Software, die aggregierte telemetrische Informationen von jedem der Hypervisoren, die die Nutzung über jede ganze Image-Instanz an einem jeweiligen Hypervisor der durch diesen Hypervisor virtualisierten Rechnerressourcen beschreiben, empfängt; wobei das Management-Framework in Ansprechen auf das Empfangen der telemetrischen Informationen die Metadaten zum Aufzeichnen der Nutzung durch jede lizenzierbare Komponente durch Ermitteln der Gesamtnutzung durch die Image-Instanz, wie durch die Kombinationsanteilgewichtung geändert, zum Lizenzieren der Nutzung durch jede der lizenzierbaren Komponenten nutzt.
  • Die US 2008 / 0 134 176 A1 betrifft ein Verfahren zum Erzwingen eines Einhaltungsschemas für virtuelle Maschinen (VM), umfassend: Abrufen von Einhaltungsrichtlinien bezüglich einer Ziel-VM; und vor der Ausführung der Ziel-VM, Anwenden der Einhaltungsrichtlinien auf die Ziel-VM, um festzustellen, ob die Ziel-VM mit dem VM-Einhaltungsschema konform ist.
  • Die US 2009 / 0 328 225 A1 betrifft ein Virtualisierungssystem, die die sichere, kontrollierte Ausführung von Anwendungsprogrammen in virtuellen Maschinen unterstützt. Die virtuelle Maschine kapselt eine virtuelle Hardware-Plattform und ein Gastbetriebssystem, das in Bezug auf die virtuelle Hardware-Plattform ausführbar ist, um einen Programmausführungsraum innerhalb der virtuellen Maschine bereitzustellen. Ein Anwendungsprogramm, das Lizenzsteuerdaten benötigt, um die Ausführung des Anwendungsprogramms zu ermöglichen, wird innerhalb des Programmausführungsraums zur Ausführung innerhalb der virtuellen Maschine bereitgestellt. Ein Datenspeicher, in dem verschlüsselte Richtlinienkontrollinformationen und die Lizenzkontrolldaten gespeichert werden, wird außerhalb der virtuellen Maschine zur Verfügung gestellt. Auf den Datenspeicher wird über ein Virtualisierungssystem zugegriffen, das einen Richtlinien-Controller enthält, der selektiv auf eine von der virtuellen Maschine empfangene Anforderung reagiert, um die Lizenzsteuerdaten in Abhängigkeit von einer Auswertung der verschlüsselten Richtliniensteuerinformationen abzurufen.
  • Zusammenfassung der Erfindung
  • Allgemein ausgedrückt beruht die Lösung gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung auf der Idee des Steuerns jeder virtuellen Festplatte, bevor sie an die entsprechende virtuelle Maschine angebunden wird.
  • Insbesondere sind ein oder mehrere Aspekte der Lösung gemäß spezifischer Ausführungsformen der Erfindung in den unabhängigen Ansprüchen und vorteilhafte Merkmale dieser Lösung in den abhängigen Ansprüchen mit dem Wortlaut aller Ansprüche ausgeführt, die hierin durch Bezugnahme ausdrücklich (verbatim) aufgenommen werden (samt allen vorteilhaften Merkmalen, die bezüglich eines spezifischen Aspekts der Lösung gemäß einer Ausführungsform der Erfindung bereitgestellt werden, der mit entsprechenden Abänderung en (mutatis mutandis) auf jeden anderen Aspekt davon anwendbar ist).
  • Genauer stellt ein Aspekt der Lösung gemäß einer Ausführungsform der Erfindung ein Verfahren gemäß dem Anspruch 1 zum Steuern der Verwendung virtueller Festplatten bereit, wobei in einer neuen virtuellen Festplatte enthaltene Softwareartefakte (zum Beispiel aus einem entsprechenden Beschreiber) ermittelt und mit Verwendungsberechtigungen (die zum Beispiel aus einer entsprechenden Ablage entnommen werden) verglichen werden, um dementsprechend die Anbindung der neuen virtuellen Festplatte an eine ausgewählte virtuelle Maschine zu ermöglichen oder zu verhindern.
  • Ein weiterer Aspekt der Lösung gemäß einer Ausführungsform der Erfindung stellt ein entsprechendes Computerprogramm gemäß dem Anspruch 7 bereit.
  • Noch ein weiterer Aspekt der Lösung gemäß einem Beispiel stellt ein entsprechendes Computerprogrammprodukt bereit.
  • Ein anderer Aspekt der Lösung gemäß einer Ausführungsform der Erfindung stellt ein entsprechendes Datenverarbeitungssystem gemäß dem Anspruch 8 bereit.
  • Figurenliste
  • Die Lösung gemäß einer oder mehreren Ausführungsformen der Erfindung sowie weitere Merkmale und Vorteile davon sind am besten unter Bezugnahme auf die folgende detaillierte Beschreibung verständlich, die lediglich in Form einer nicht einschränkenden Angabe vorgelegt wird und in Verbindung mit den angehängten Zeichnungen zu lesen ist (wobei zum Zwecke der Vereinfachung entsprechende Elemente mit gleichen oder ähnlichen Bezugszeichen bezeichnet sind und deren Erläuterung nicht wiederholt wird, und wobei der Name jeder Einheit allgemein verwendet wird, um sowohl ihren Typ als auch ihre Attribute - wie beispielsweise Wert, Inhalt und Ausbildung - zu bezeichnen). Insbesondere:
    • zeigt 1 eine bildliche Darstellung eines Datenverarbeitungszentrums, das verwendet werden kann, um die Lösung gemäß einer Ausführungsform der Erfindung auszuführen,
    • zeigt 2 ein Blockschaubild einer beispielhaften virtualisierten Umgebung, in der die Lösung gemäß einer Ausführungsform der Erfindung angewandt werden kann,
    • zeigen 3A bis 3G eine beispielhafte Anwendung der Lösung gemäß einer Ausführungsform der Erfindung, und
    • zeigt 4 eine Darstellung des Zusammenwirkens, welche die Rollen der Hauptsoftwaremodule wiedergibt, die verwendet werden können, um die Lösung gemäß einer Ausführungsform der Erfindung auszuführen.
  • Detaillierte Beschreibung
  • Unter besonderer Bezugnahme auf 1 wird eine bildliche Darstellung eines Datenverarbeitungszentrums 100 gezeigt, das verwendet werden kann, um die Lösung gemäß einer Ausführungsform der Erfindung auszuführen.
  • Das Datenverarbeitungszentrum 100 weist einen Satz von Verarbeitungssystemen 105 (zum Beispiel Server-Computer), einen Satz von Speichersystemen 110 (zum Beispiel Festplatten) und eine Konsole 115 zum Steuern derselben auf - wobei die Konsole 115 auch mit einem Laufwerk zum Lesen von DVDs oder CDs 120 versehen werden kann. Ein Router- (oder Switch-) System 125 verwaltet die Datenübertragung zwischen den Verarbeitungssystemen 105, den Speichersystemen 110 und der Konsole 115 und mit der äußeren Umgebung des Datenverarbeitungszentrums 100 (zum Beispiel über das Internet); zu diesen Zwecken sind die Verarbeitungssysteme 105, die Speichersysteme 110, die Konsole 115 und das Router-System 125 über ein Verkabelungssystem 130 verbunden.
  • Jedes Verarbeitungssystem 105 wird durch mehrere Einheiten ausgebildet, die parallel mit einem Datenübertragungsbus 135 verbunden sind. Im Detail steuert ein Satz von (einem oder mehreren) Mikroprozessoren (µP) 140 den Betrieb des Verarbeitungssystems 105; ein RAM 145 wird durch die Mikroprozessoren 140 direkt als Arbeitsspeicher verwendet, und ein ROM 150 speichert grundlegenden Code für ein Ladeprogramm des Verarbeitungssystems 105. Darüber hinaus weist das Verarbeitungssystem 105 einen Netzwerkadapter 155 auf, der verwendet wird, um das Verarbeitungssystem 105 mit dem Verkabelungssystem 130 zu verbinden.
  • Ein Blockschaubild einer beispielhaften virtualisierten Umgebung, in der die Lösung gemäß einer Ausführungsform der Erfindung angewandt werden kann, ist in 2 gezeigt.
  • Die virtualisierte Umgebung ist auf einer Hardware 205 realisiert, die durch ein oder mehrere Verarbeitungssysteme und ein oder mehrere Speichersysteme des vorstehend beschriebenen Datenverarbeitungszentrums festgelegt wird. Zu diesem Zweck legt ein direkt auf der Hardware 205 ausgeführtes Host-Betriebssystem 210 eine Softwareplattform fest, auf der jedes andere Programm ausgeführt werden kann. In diesem speziellen Fall emuliert eine auf dem Host-Betriebssystem 210 ausgeführte Virtualisierungsschicht 215 eine oder mehrere virtuelle Maschinen 220; zu Beispielen handelsüblicher auf dem Markt erhältlicher Virtualisierungsschichten zählen VMware von VMware Inc. und Xen von Citrix Systems, Inc. (Marken der jeweiligen Eigentümer). Bei jeder virtuellen Maschine 220 handelt es sich um eine abstrakte Struktur, die eine physische Maschine emuliert, über welche die virtuelle Maschine die alleinige Kontrolle besitzt. Insbesondere weist jede virtuelle Maschine 220 eine oder mehrere virtuelle Festplatten 225 auf (von denen jede eine physische Festplatte emuliert); jede virtuelle Festplatte 225 ist tatsächlich in der Hardware 205 mittels eines entsprechenden (in der Figur nicht gezeigten) Abbildes der virtuellen Festplatte gespeichert, das aus einer Datei mit einem zuvor festgelegten Format besteht (zum Beispiel dem von VMware verwendeten VMDK-Format oder dem von Xen verwendeten VHD Format). In jeder virtuellen Maschine 220 wird nun ein Gastbetriebssystem 230 auf seiner emulierten Hardware ausgeführt. Das Gastbetriebssystem 230 legt gleichermaßen eine Softwareplattform der virtuellen Maschine 220 fest, auf der ein oder mehrere Anwendungsprogramme 235 ausgeführt werden.
  • Eine beispielhafte Anwendung der Lösung gemäß einer Ausführungsform der Erfindung wird in 3A bis 3G gezeigt. Diese Lösung steuert die Verwendung generischer Softwareartefakte (zum Beispiel die Anwendungsprogramme) in dem vorstehend beschriebenen Datenverarbeitungszentrum.
  • Beginnend mit 3A wird eine Anfrage zum Anbinden einer neuen virtuellen Festplatte VDn an eine ausgewählte virtuelle Maschine VMs erkannt, die bereits in dem Datenverarbeitungszentrum beherbergt (hosted on) wird - wobei eine daran angebundene virtuelle (System-)Festplatte VDos ihr eigenes Gastbetriebssystem aufweist. Als Reaktion darauf wird (zum Beispiel aus einem entsprechenden Beschreiber) eine Liste neuer Softwareprogramme ermittelt, die in der neuen virtuellen Festplatte VDn enthalten sind; in diesem speziellen Fall weist die neue virtuelle Festplatte VDn drei neue Anwendungsprogramme SW1, SW2 und SW3 auf.
  • Fortfahrend mit 3B werden Lizenz- (oder beliebige andere) Berechtigungen abgerufen, die im Datenverarbeitungszentrum für die neuen Anwendungen SW1 bis SW3 verfügbar sind (zum Beispiel aus einer Ablage, in der alle in ihrer Gesamtheit mit Lsw bezeichneten, im Datenverarbeitungszentrum verfügbaren Lizenzberechtigungen gespeichert sind); zum Beispiel geben in diesem Fall die Lizenzberechtigungen an, dass die weitere Verwendung von 2 Instanzen des Anwendungsprogramms SW1 (LSW1: 2), 1 Instanz des Anwendungsprogramms SW2 (LSW2: 1) und 5 Instanzen des Anwendungsprogramms SW3 (LSW3: 5) erlaubt ist.
  • Unter Bezugnahme auf 3C werden die neuen Anwendungsprogramme SW1 bis SW3 mit den Lizenzberechtigungen LSW1 bis LSW3 verglichen, um gemäß den Ergebnissen des Vergleichs die Anbindung der neuen virtuellen Festplatte VDn an die ausgewählte virtuelle Maschine VMs zu ermöglichen oder zu verhindern. In diesem Fall erlauben die Lizenzberechtigungen LSW1 bis LSW3 die weitere Verwendung einer Instanz jedes der neuen Anwendungsprogramme SW1 bis SW3. Daher wird die neue virtuelle Festplatte VDn an die ausgewählte virtuelle Maschine VMs angebunden.
  • Bei Betrachtung von 3D werden die Lizenzberechtigungen LSW1 bis LSW3 (in der entsprechenden Ablage) entsprechend aktualisiert; in diesem Fall wird die Anzahl von Instanzen jedes neuen Anwendungsprogramms SW1 bis SW3, die weiterhin verwendet werden dürfen, um eins verringert (d.h. LSW1: 1, LSW2: 0 und LSW3: 4).
  • Wie in 3E gezeigt, wird später eine Anfrage zum Anbinden derselben neuen virtuellen Festplatte VDn an eine andere ausgewählte virtuelle Maschine VMs' erkannt (die bereits in dem Datenverarbeitungszentrum beherbergt ist, wobei eine daran angebundene virtuelle (System-)Festplatte VDos' ihr eigenes Gastbetriebssystem aufweist, ). Als Reaktion darauf wird dieselbe Liste der neuen, in der neuen virtuellen Festplatte VDn enthaltenen Anwendungsprogramme SW1, SW2 und SW3 ermittelt (zum Beispiel aus einer entsprechenden Bibliothek, in der sie zuvor gespeichert wurde).
  • Fortfahrend mit 3F werden die Lizenzberechtigungen für die neuen Anwendungsprogramme SW1 bis SW3 erneut abgerufen; die Lizenzberechtigungen geben nun an, dass die weitere Verwendung von 1 Instanz des Anwendungsprogramms SW1 (LSW1: 1) und 4 Instanzen des Anwendungsprogramms SW3 (LSW3: 4) erlaubt ist, jedoch keine weitere Verwendung des Anwendungsprogramms SW2 (LSW2: 0) erlaubt ist.
  • Unter Bezugnahme auf 3G, werden die neuen Anwendungsprogramme SW1 bis SW3 wie vorstehend mit den Lizenzberechtigungen LSW1 bis LSW3 verglichen. In diesem Fall erlauben jedoch die Lizenzberechtigungen LSW1 bis LSW3 keine weitere Verwendung einer Instanz aller neuen Anwendungsprogramme SW1 bis SW3 (da dies für das neue Anwendungsprogramm SW2 nicht möglich ist). Daher wird die neue virtuelle Festplatte VDn nicht an die ausgewählte virtuelle Maschine VMs angebunden (oder es wird eine beliebige andere geeignete Aktion unternommen).
  • Die vorstehend beschriebene Lösung gemäß einer Ausführungsform der Erfindung erlaubt das Steuern der Verwendung der virtuellen Festplatten auf eine sehr einfache und wirkungsvolle Weise (besonders bei großen virtuellen Appliances - die zum Beispiel der SOA entsprechen); insbesondere kann dieses Ergebnis automatisch erreicht werden (ohne bzw. mit in jedem Fall sehr geringen manuellen Eingriffen).
  • Darüber hinaus erfordert die Realisierung dieser Lösung keine Modifikation der virtuellen Maschinen (so dass sie für deren Betrieb vollständig transparent ist).
  • Es wird hervorgehoben, dass das gewünschte Ergebnis erreicht wird, ohne die neue virtuelle Festplatte an die ausgewählte virtuelle Maschine anbinden zu müssen; daher kann (entsprechend des Ergebnisses der vorstehend beschriebenen Steuerns) aktiv jede gewünschte Aktion unternommen werden.
  • Unter Bezugnahme auf 4 wird eine Darstellung des Zusammenwirkens gezeigt, welche die Rollen der Hauptsoftwaremodule wiedergibt, die verwendet werden können, um die Lösung gemäß einer Ausführungsform der Erfindung auszuführen. Die Softwaremodule sind in ihrer Gesamtheit mit der Bezugsziffer 400 bezeichnet. Die Informationen (Programme und Daten) werden üblicherweise in den Speichersystemen des vorstehend beschriebenen Datenverarbeitungszentrums gespeichert und (zumindest teilweise) in den Arbeitsspeicher eines spezifischen Verarbeitungssystems davon geladen, wenn die Programme ausgeführt werden. Die Programme werden zu Beginn zum Beispiel von DVDs (über die Konsole des Datenverarbeitungszentrums) auf den Speichersystemen installiert. Insbesondere beschreibt die Figur sowohl den statischen Aufbau der Softwaremodule als auch deren dynamisches Verhalten (mittels einer Reihe ausgetauschter Nachrichten, von denen jede für eine entsprechende Aktion steht und die mit Reihenfolgenummern bezeichnet sind, denen das Symbol „A“ vorangeht).
  • Insbesondere steuert ein Verwalter für virtuelle Festplatten 405 die Verwendung aller virtuellen Festplatten im Datenverarbeitungszentrum. Zu diesem Zweck empfängt der Verwalter für virtuelle Festplatten 405 eine beliebige Anfrage zum Hinzufügen einer neuen virtuellen Festplatte zu einer ausgewählten (mit dem Bezugszeichen 220s versehenen) virtuellen Maschine; die ausgewählte virtuelle Maschine 220s wird bereits in der Virtualisierungsschicht 415 beherbergt und besitzt zumindest die daran angebundene (mit dem Bezugszeichen 225s versehene) virtuelle Systemfestplatte für ihr Gastbetriebssystem. Die Anfrage wird dem Verwalter für virtuelle Festplatten 405 üblicherweise manuell durch einen Systemadministrator übermittelt - zum Beispiel über eine entsprechende Webschnittstelle (Aktion „A1.Hinzufügen“).
  • Der Verwalter für virtuelle Festplatten 405 steuert eine virtuelle Festplattenablage 410, in der die Abbilder aller virtuellen Festplatten gespeichert sind, die im Datenverarbeitungszentrum verwendet werden können. Wenn das Abbild der neuen virtuellen Festplatte nicht in der virtuellen Festplattenablage 410 verfügbar ist, wird sie darauf geladen - zum Beispiel von einer Webseite eines entsprechenden Anbieters (Aktion „A2.Laden“). Ein Auffindungsverwalter 415 findet die neuen in der neuen virtuellen Festplatte enthaltenen Anwendungsprogramme aus deren Abbild (in der virtuellen Festplattenablage 410); wenn zum Beispiel die neue virtuelle Festplatte der Spezifikation „Open Virtualization Format“ (OVF) entspricht, werden die darin enthaltenen neuen Anwendungsprogramme aus ihrem OVF-Beschreiber (im Element „ProductSection“ des Elements „VirtualSection“ zwischen den Anhängern (tags) <Product> und </Product> und zwischen den Anhängern <FullVersion> und </FullVersion>) entnommen. Die so erhaltenen Zusammensetzungsinformationen der neuen virtuellen Festplatte werden zu einer Zusammensetzungsbibliothek 420 hinzugefügt. Zum Beispiel weist die Zusammensetzungsbibliothek 420 einen (bereits in die virtuelle Festplattenablage 410 geladenen) Datensatz für jede bekannte virtuelle Festplatte auf; der Datensatz weist einen aus deren Abbild entnommenen eindeutigen Kennzeichner der bekannten virtuellen Festplatte und einen eindeutigen Kennzeichner jedes ihrer Anwendungsprogramme auf (Hersteller, Name, Version und Veröffentlichung (release) festlegend). Auf diese Weise sind die Zusammensetzungsinformationen aller virtuellen Festplatten, die im Datenverarbeitungszentrum verwendet werden können, direkt in der Zusammensetzungsbibliothek 420 verfügbar, um ein Wiederholen der vorstehend beschriebene Vorgänge zu vermeiden, die sehr zeit- und ressourcenaufwändig sein können (Aktion „A3.Auffinden“).
  • In jedem Fall leitet der Verwalter für virtuelle Festplatten 405 die Anfrage des Hinzufügens der neuen virtuellen Festplatte an einen Lizenzierungsberater 425 weiter. Als Reaktion darauf entnimmt der Lizenzierungsberater 425 die Zusammensetzungsinformationen der neuen virtuellen Festplatte der Zusammensetzungsbibliothek 420, wobei sie im Hinblick auf das Vorstehende immer vorhanden sind (Aktion „A4.Entnehmen“). Für jedes so ermittelte Anwendungsprogramm der neuen virtuellen Festplatte ruft der Lizenzierungsberater 425 die entsprechende Lizenzberechtigung von einer Lizenzablage 430 ab (in der die Lizenzberechtigungen aller Softwareprogramme gespeichert sind, die im Datenverarbeitungszentrum verwendet werden können - und die üblicherweise durch einen Beschaffungsadministrator manuell bestückt wird); zum Beispiel weist die Lizenzablage 430 einen Datensatz für jedes durch seinen Hersteller, Namen, Version und Veröffentlichung gekennzeichnete Softwareprogramm (d.h. Betriebssystem oder Anwendungsprogramm) mit einer maximalen Anzahl von Instanzen des Softwareprogramms, die im Datenverarbeitungszentrum verwendet werden können, sowie einer aktuellen Anzahl davon auf (Aktion „A5.Abrufen“). Der Lizenzberater 425 vergleicht nun die Zusammensetzungsinformationen der neuen virtuellen Festplatte mit den Lizenzberechtigungen ihrer neuen Anwendungsprogramme, um gemäß dem Ergebnis dieses Vergleichs die Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine 220s zu ermöglichen oder zu verhindern (Aktion „A6.Vergleichen“).
  • Wenn das Ergebnis dieses Vergleichs angibt, dass die weitere Verwendung aller neuen Softwareprogramme auf der ausgewählten virtuellen Maschine möglich ist (weil zum Beispiel die Differenz zwischen deren Maximalanzahl und der aktuellen Anzahl größer als Null ist), weist der Verwalter für virtuelle Festplatten 405 einen Aktivierungsverwalter 435 entsprechend an; der Aktivierungsverwalter 435 kommuniziert mit der Virtualisierungsschicht 415 durch Einsetzen seiner API (zum Beispiel der VIX-Schnittstelle des VMware), um in der Lage zu sein, unterschiedliche Vorgänge auf der ausgewählten virtuellen Maschine 220s und ihrem Gastbetriebssystem zu automatisieren (Aktion „A7.Ermöglichen“). Als Reaktion darauf bindet der Aktivierungsverwalter 435 das Abbild der neuen virtuellen Festplatte in der Ablage 410 an die ausgewählte virtuelle Maschine 220s an - wobei sie mit dem Bezugszeichen 225n versehen wird (Aktion „A8.Anbinden“). Vorteilhafterweise handelt es sich bei der neuen virtuellen Festplatte 225n um den selbstaktivierenden Typ. In diesem Fall weist die neue virtuelle Festplatte 225n ein Deaktivierungsmodul für ihre automatische Deaktivierung (wie im Folgenden beschrieben) auf, das durch den Aktivierungsverwalter 435 von der neuen virtuellen Festplatte 225n auf die Systemfestplatte 225s kopiert wird (Aktion „A9.Kopieren“). Der Aktivierungsverwalter 435 aktiviert dann automatisch die neuen Anwendungsprogramme, die auf der neuen virtuellen Festplatte 225n enthalten sind; zum Beispiel kann die neue virtuelle Festplatte 225n ein Softwarepaket für die neuen Anwendungsprogramme (mit den entsprechenden Dateien und Anweisung zu deren Aktivierung) aufweisen, das auf die ausgewählte virtuelle Maschine 220s unter der Kontrolle einer (in der Figur nicht gezeigten) Installationsfunktion (installation engine) des Aktivierungsverwalters 435 angewandt wird (Aktion „A10.Aktivieren“). Als weitere Verbesserung kann der Aktivierungsverwalter 435 auch ein Skript zur benutzerspezifischen Anpassung ausführen, das auf der neuen virtuellen Festplatte 225n enthalten ist. Das Skript zur benutzerspezifischen Anpassung sammelt Konfigurationsinformationen der ausgewählten virtuellen Maschine 220s - zum Beispiel ihre IP-Adresse (Aktion „A11.Sammeln“). Diese Konfigurationsinformationen werden verwendet, um einen Teil der neuen Anwendungsprogramme entsprechend benutzerspezifisch anzupassen - zum Beispiel, indem die IP-Adresse der Datenübertragungssockel aktualisiert wird, die in deren privaten Daten eingebettet sind (Aktion „A12.Benutzerspezifisch anpassen“). Nachdem die neue virtuelle Festplatte 225n erfolgreich an die ausgewählte virtuelle Maschine 220s angebunden (und aktiviert/benutzerspezifisch angepasst) wurde, aktualisiert der Lizenzierungsberater 425 entsprechend die Lizenzberechtigungen der neuen (gerade zur ausgewählten virtuellen Maschine 220s hinzugefügten) Anwendungsprogramme in der Lizenzablage 430 - zum Beispiel, indem ihre aktuelle Anzahl erhöht wird (Aktion „A13.Aktualisieren“).
  • Wenn umgekehrt das Ergebnis des Vergleichs zwischen den Zusammensetzungsinformationen der neuen virtuellen Festplatte und den Lizenzberechtigungen ihrer neuen Anwendungsprogramme angibt, dass die weitere Verwendung aller neuen Anwendungsprogramme auf der ausgewählten virtuellen Maschine nicht möglich ist (zum Beispiel, weil die Differenz zwischen der Maximalanzahl und der aktuellen Anzahl eines oder mehrerer davon Null beträgt), verhindert der Verwalter für virtuelle Festplatten 415 die Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine 220s. In diesem Fall wird eine Warnnachricht an den Systemadministrator ausgegeben (die eine Angabe der Lizenzberechtigungen aufweist, die nicht erteilt werden können) (Aktion „A14.Verhindern“).
  • Der Verwalter für virtuelle Festplatten 405 empfängt zudem eine beliebige Anfrage zum Entfernen einer (mit dem Bezugszeichen 225o bezeichneten) alten virtuellen Festplatte von einer weiteren ausgewählten Festplatte, bei der es sich der Einfachheit halber um dieselbe wie vorstehend (220s) handelt. Auch in diesem Fall wird die Anfrage durch den Systemadministrator manuell an den Verwalter für virtuelle Festplatten 405 übermittelt (Aktion „A15.Entfernen“). Der Verwalter für virtuelle Festplatten 405 weist den Aktivierungsverwalter 425 entsprechend an, der zuerst die auf der alten virtuellen Festplatte 225o enthaltenen alten Anwendungsprogramme deaktiviert, indem das entsprechende Deaktivierungsmodul ausgeführt wird, das zuvor auf die virtuelle Systemfestplatte 225s kopiert wurde (Aktion „A16.Deaktivieren“). Der Aktivierungsverwalter 435 löscht dann das Deaktivierungsmodul der alten virtuellen Festplatte 225o von der virtuellen Systemfestplatte 225s (Aktion „A17.Löschen“). An diesen Punkt kann der Aktivierungsverwalter 435 die Anbindung der alten virtuellen Festplatte 225o an die ausgewählte virtuelle Maschine 220s aufheben (Aktion „A18.Anbindung aufheben“). Nachdem die Anbindung der alten virtuellen Festplatte 225o an die ausgewählte virtuelle Maschine 220s erfolgreich aufgehoben (und diese deaktiviert) wurde, benachrichtigt der Verwalter für virtuelle Festplatten 405 den Lizenzierungsberater 425. Als Reaktion darauf entnimmt der Lizenzierungsberater 425 die Zusammensetzungsinformationen der alten virtuellen Festplatte 225o aus der Zusammensetzungsbibliothek 420 (Aktion „A19.Entnehmen“). Der Lizenzierungsberater 425 aktualisiert dann entsprechend die Lizenzberechtigungen der (soeben von der ausgewählten virtuellen Maschine 220s entfernten) alten Anwendungsprogramme in der Lizenzablage 430 - zum Beispiel, indem ihre aktuelle Anzahl verringert wird (Aktion „A20.Aktualisieren“).
  • Um lokale und spezifische Anforderungen zu erfüllen, kann der Fachmann natürlich viele logische und/oder physische Modifikationen und Abänderungen an der vorstehend beschriebenen Lösung vornehmen. Genauer sollte verstanden werden, dass vielfältige Weglassungen, Ersetzungen und Änderungen in Form und Details sowie andere Ausführungsformen möglich sind, obwohl die Lösung unter Bezugnahme auf eine oder mehrere ihrer Ausführungsformen mit einem gewissen Grad an Besonderheiten beschrieben wurde. Insbesondere können unterschiedliche Ausführungsformen der Erfindung auch ohne die spezifischen Details (wie beispielsweise die Zahlenwerte) ausgeführt werden, die in der vorhergehenden Beschreibung dargelegt wurden, um für deren besseres Verständnis zu sorgen; umgekehrt können allgemein bekannte Merkmale weggelassen oder vereinfacht worden sein, um die Beschreibung nicht durch unnötige Einzelheiten zu verschleiern. Darüber hinaus ist ausdrücklich beabsichtigt, dass im Rahmen der allgemeinen Gestaltungswahl spezifische in Verbindung mit jeder Ausführungsform der offenbarten Lösung beschriebene Elemente und/oder Verfahrensschritte auch in jeder anderen Ausführungsform ausgebildet werden können. In jedem Fall sollten die Begriffe „beinhalten“, „einschließen“, „aufweisen“, „umfassen“, „besitzen“ und „enthalten“ (sowie sämtliche Formen davon) in einer offenen, nicht erschöpfenden Bedeutung (d.h. nicht auf die angeführten Elemente beschränkt) aufgefasst werden, die Begriffe „beruhen auf”, „auf Grundlage von“, „abhängen von“, „gemäß“, „entsprechend“, „Funktion von“ (sowie sämtliche Formen davon) sollten als nicht erschöpfende Beziehung (d.h. mit möglichen weiteren einbezogenen Variablen) aufgefasst werden, und die Begriffe „ein, eine“ sowie deren Deklinationen sollten als ein oder mehrere Elemente aufgefasst werden (es sei denn dies ist ausdrücklich anderweitig angegeben).
  • Zum Beispiel stellt eine Ausführungsform der Erfindung ein Verfahren zum Steuern der Verwendung virtueller Festplatten in einem Datenverarbeitungszentrum (jeden beliebigen Typs, siehe nachstehend) bereit, das einen Satz von (einer oder mehreren) virtuellen Maschinen beherbergt; die virtuellen Maschinen können auf jede beliebige Weise realisiert sein (zum Beispiel unter der Kontrolle eines Hypervisor, der ohne Host-Betriebssystem direkt auf der Hardware ausgeführt wird). Jede virtuelle Festplatte weist einen Satz von (einem oder mehreren) Softwareartefakten auf; bei den Softwareartefakten kann es sich um jeden beliebigen Typ handeln (zum Beispiel Anwendungsprogramme, Betriebssysteme, Datenbanken, Multimediainhalte und so weiter), und sie können in jedem beliebigen Format bereitgestellt werden (vollständig neue Softwareartefakte oder neue Versionen/Veröffentlichungen davon, in vollständigem Format oder einem Aktualisierungsformat und so weiter).
  • Das Verfahren weist die folgenden Schritte auf: Eine Anfrage des Hinzufügens einer einen Satz von (einem oder mehreren) neuen Softwareartefakten aufweisenden neuen virtuellen Festplatte zu einer ausgewählten virtuellen Maschine der virtuellen Maschinen wird erkannt (auf jede beliebige Weise - zum Beispiel durch Hooking-Techniken). Zusammensetzungsinformationen der neuen virtuellen Festplatte werden ermittelt (auf jede beliebige Weise, siehe nachstehend); die Zusammensetzungsinformationen der neuen virtuellen Festplatte weisen eine Angabe der neuen Softwareartefakte auf (in jedem beliebigen Format, zum Beispiel auf der Grundlage von entsprechenden Signaturen). Eine Angabe von Verwendungsberechtigungen der neuen Softwareartefakte im Datenverarbeitungszentrum wird abgerufen; bei den Verwendungsberechtigungen kann es sich um jeden beliebigen Typ handeln (der zum Beispiel einfach die Verwendungsautorisierungen auf der Grundlage interner Richtlinien festlegt) oder sie können auf jede beliebige Weise festgelegt werden (zum Beispiel gemäß der verbleibenden Anzahl von Instanzen der Softwareartefakte, die weiterhin verwendet werden können, oder auf der Grundlage der den Softwareartefakten zugewiesenen physischen/virtuellen Ressourcen). Die Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine wird gemäß einem Vergleich zwischen den Zusammensetzungsinformationen der neuen virtuellen Festplatte und den Verwendungsberechtigungen der neuen Softwareartefakte (auf jede beliebige Weise, siehe nachstehend) ermöglicht oder verhindert. Die neue virtuelle Festplatte wird an die ausgewählte virtuelle Maschine als Reaktion auf ihr Aktivieren angebunden. Die Verwendungsberechtigungen der neuen Softwareartefakte werden dann als Reaktion auf die Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine aktualisiert (auf jede beliebige Weise, zum Beispiel durch Verringern ihrer verbleibenden Anzahl oder durch Aktualisieren der Menge der ihnen zugeordneten Ressourcen).
  • Dieselbe Lösung kann jedoch auch mit einem äquivalenten Verfahren realisiert werden (indem ähnliche Schritte mit den Funktionen von mehreren Schritten oder Teilen davon verwendet werden, manche nichtwesentliche Schritte entfernt werden, oder weitere optionale Schritte hinzugefügt werden); darüber hinaus können die Schritte in einer unterschiedlichen Reihenfolge, gleichzeitig oder intermittierend ausgeführt werden (zumindest in Teilen).
  • In einer Ausführungsform der Erfindung weist das Verfahren weiterhin die folgenden Schritte auf: Eine Anfrage des Entfernens einer einen Satz von (einem oder mehreren) alten Softwareartefakten aufweisenden alten virtuellen Festplatte von einer weiteren ausgewählten virtuellen Maschine der virtuellen Maschinen wird (auf jede beliebige Weise, wie vorstehend) erkannt. Die Anbindung der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine wird aufgehoben. Zusammensetzungsinformationen der alten virtuellen Festplatte werden (auf jede beliebige Weise, siehe nachstehend) ermittelt; die Zusammensetzungsinformationen der alten virtuellen Festplatte weisen eine Angabe der alten Softwareartefakte (in jedem beliebigen Format, wie vorstehend) auf. Verwendungsberechtigungen der alten Softwareartefakte werden als Reaktion auf das Aufheben der Anbindung der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine (auf jede beliebige Weise, wie vorstehend)aktualisiert.
  • Es wird allerdings nur eine sehr grundlegende Realisierung betrachtet, die das Hinzufügen neuer virtueller Festplatten steuert.
  • In einer Ausführungsformen der Erfindung weist der Schritt des Ermittelns von Zusammensetzungsinformationen der neuen virtuellen Festplatte ein Abrufen der Zusammensetzungsinformationen der neuen virtuellen Festplatte aus einer Zusammensetzungsbibliothek als Reaktion auf deren Vorhandensein, oder andernfalls ein Auffinden der Zusammensetzungsinformationen der neuen virtuellen Festplatte und ein Speichern der Zusammensetzungsinformationen der neuen virtuellen Festplatte auf die Zusammensetzungsbibliothek auf; zusätzlich oder alternativ dazu weist der Schritt des Ermittelns von Zusammensetzungsinformationen der alten virtuellen Festplatte ein Abrufen der Zusammensetzungsinformationen der alten virtuellen Festplatte aus der Zusammensetzungsbibliothek auf.
  • Die Zusammensetzungsinformationen der (neuen und/oder alten) virtuellen Festplatten können jedoch auch auf andere Weise ohne Zusammensetzungsbibliothek ermittelt werden (zum Beispiel, indem sie von den Webseiten der entsprechenden Anbieter heruntergeladen werden).
  • In einer Ausführungsform der Erfindung weist der Schritt des Auffindens der Zusammensetzungsinformationen der neuen virtuellen Festplatte ein Entnehmen der Zusammensetzungsinformationen der neuen virtuellen Festplatte aus einem in der neuen virtuellen Festplatte enthaltenen Beschreiber derselben auf.
  • Die Zusammensetzungsinformationen der neuen virtuellen Festplatte können jedoch auch auf andere Weise aufgefunden werden (zum Beispiel aus Endbenutzerlizenzvereinbarungen (End User License Agreements (EULAs)) ihrer Softwareartefakte).
  • In einer Ausführungsform der Erfindung weist der Schritt des Ermöglichens oder Verhinderns der Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine in Folge der Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine ein Ermöglichen der Anbindung als Reaktion auf ein Vorliegen der Verwendungsberechtigungen der neuen Softwareartefakte oder andernfalls ein Verhindern der Anbindung auf.
  • Es können jedoch unterschiedliche Aktionen ausgeführt werden, wenn die Verwendungsberechtigungen der neuen Softwareartefakte nicht vorliegen; zum Beispiel ist es möglich, die Anbindung der neuen virtuellen Festplatte zeitweise zu ermöglichen (beispielsweise für Testzwecke). Darüber hinaus kann die entsprechende Warnnachricht zusätzliche oder andere Informationselemente aufweisen (zum Beispiel von einem einfachen Fehlercode bis hin zu einem Vorschlag möglicher Aktionen, die unternommen werden können, um das Problem zu lösen).
  • In einer Ausführungsform der Erfindung weist der Schritt des Anbindens der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine ein Aktivieren der neuen Softwareartefakte durch Anwenden eines auf der neuen virtuellen Festplatte enthaltenen Aktivierungsmoduls auf.
  • Die neuen Softwareartefakte können jedoch auch auf andere Weise aktiviert werden (zum Beispiel durch Starten eines Installationsprogramms davon); darüber hinaus kann dieses Ergebnis auch ohne Aktivierungsverwalter erreicht werden (zum Beispiel mit einem AutoRun-Programm, das automatisch ausgeführt wird, nachdem die virtuelle Festplatte an die ausgewählte virtuelle Maschine angebunden wurde). In jedem Fall steht dem Anwenden der vorgeschlagenen Lösung auf virtuelle Standardfestplatten (die nicht vom selbstaktivierenden Typ sind) nichts entgegen.
  • In einer Ausführungsform der Erfindung weist der Schritt des Aktivierens der neuen Softwareartefakte ein Sammeln von Konfigurationsinformationen der ausgewählten virtuellen Maschine und ein benutzerspezifisches Anpassen mindestens eines der neuen Softwareartefakte gemäß den Konfigurationsinformationen der ausgewählten virtuellen Maschine auf.
  • Bei den Konfigurationsinformationen der ausgewählten virtuellen Maschine kann es sich jedoch um Konfigurationsinformationen jedes beliebigen Typs handeln (zum Beispiel ihren Host-Namen), und sie können auf jede beliebige Weise verwendet werden (zum Beispiel Anpassen von Endpunkten anderer Datenübertragungskanäle); in jedem Fall steuert der Aktivierungsverwalter unter Umständen nur die Aktivierung der neuen Softwareartefakte, wohingegen deren benutzerspezifische Anpassung manuell durch den Systemadministrator durchgeführt wird.
  • In einer Ausführungsform der Erfindung besitzt jede virtuelle Maschine eine daran angebundene virtuelle Systemfestplatte; die virtuelle Systemfestplatte weist ein Gastbetriebssystem der virtuellen Maschine (eines beliebigen Typs) auf. Der Schritt des Aktivierens der neuen virtuellen Festplatte weist ein Kopieren eines Deaktivierungsmoduls der neuen Softwareartefakte von der neuen virtuellen Festplatte auf die virtuelle Systemfestplatte der ausgewählten virtuellen Maschine auf; der Schritt der Aufhebens der Anbindung der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine weist ein Deaktivieren der alten Softwareartefakte auf, indem das entsprechende Deaktivierungsmodul von der virtuellen Systemfestplatte der weiteren ausgewählten virtuellen Maschine gestartet wird.
  • Bei dem Deaktivierungsmodul kann es sich jedoch um jeden beliebigen Typ handeln (zum Beispiel um ein einziges Deaktivierungsskript für alle Softwareartefakte jeder virtuellen Festplatte oder ein bestimmtes Deaktivierungsskript für jede von ihnen); in jedem Fall steht dem Deaktivieren der Softwareartefakte auf andere Weise nichts entgegen, es kann sogar manuell durch den Systemadministrator erfolgen.
  • In einer Ausführungsform der Erfindung weist der Schritt des Deaktivierens der alten Softwareartefakte ein Löschen des Deaktivierungsmoduls der alten Softwareartefakte von der virtuellen Systemfestplatte der weiteren ausgewählten virtuellen Maschine auf.
  • Dieser Vorgang ist jedoch nicht zwingend notwendig und kann in einer grundlegenden Realisierung auch weggelassen werden.
  • Eine Ausführungsform der Erfindung stellt ein Computerprogramm bereit, das ein Codemittel aufweist, um ein Datenverarbeitungssystem (zum Beispiel das vorstehend beschriebene Datenverarbeitungszentrum) zu veranlassen, die Schritte des vorgeschlagenen Verfahrens durchzuführen, wenn das Computerprogramm auf dem System ausgeführt wird.
  • Das Programm kann jedoch als eigenständiges Modul, als Plugin für ein Bereitstellungswerkzeug oder auch direkt im Bereitstellungswerkzeug selbst realisiert sein. Es ist offenkundig, dass es zudem möglich ist, dieselbe Lösung als Dienst einzusetzen, auf den über ein Netzwerk (wie das Internet) zugegriffen wird. In jedem Fall gelten ähnliche Überlegungen, wenn das Programm auf andere Weise aufgebaut ist, oder wenn zusätzliche Module oder Funktionen bereitgestellt werden; gleichermaßen kann es sich bei den Speicherstrukturen um andere Typen handelt oder sie können durch äquivalente Einheiten ersetzt werden (die nicht notwendigerweise aus physischen Speichermedien bestehen). Das Programm kann in jeder beliebigen Form vorliegen, die geeignet ist, durch ein beliebiges Datenverarbeitungssystem oder in Verbindung damit (zum Beispiel innerhalb einer virtuellen Maschine ) verwendet zu werden und dabei das System so einzurichten, dass es die beschriebenen Vorgänge durchführen kann; insbesondere kann das Programm in Form externer oder residenter Software, Firmware oder externem oder residentem Mikrocode vorliegen (entweder in Objektcode oder in Quellcode - um zum Beispiel kompiliert oder übersetzt (interpreted) zu werden). Darüber hinaus ist es möglich, das Programm auf jedem durch Computer verwendbaren Medium (und insbesondere als Herstellartikel auf einem nichtflüchtigen Medium) bereitzustellen; bei dem Medium kann es sich um jedes beliebige Element handeln, das geeignet ist, das Programm zu enthalten, zu speichern, weiterzugeben, zu verbreiten oder zu übermitteln. Zum Beispiel kann das Medium vom elektronischen, magnetischen, optischen, elektromagnetischen, Infrarot- oder Halbleitertyp sein; zu Beispielen für ein solches Medium zählen festeingebaute Festplatten (auf die das Programm vorab geladen worden sein kann), Wechselfestplatten, Bänder, Karten, Leitungen, Lichtwellenleiter, kabellose Verbindungen, Netzwerke, Sendewellen und Ähnliches. In jedem Fall bietet sich die Lösung gemäß einer Ausführungsform der vorliegenden Erfindung sogar für die Realisierung mit einer Hardwarestruktur (zum Beispiel in einem Chip aus Halbleitermaterial integriert) oder mit einer Kombination aus geeignet programmierter oder anderweitig eingerichteter Software und Hardware an.
  • Eine Ausführungsform der Erfindung stellt ein Datenverarbeitungssystem bereit (zum Beispiel das vorstehend beschriebene Datenzentrum), das ein Mittel zum Durchführen der Schritte desselben Verfahrens aufweist.
  • Ähnliche Überlegungen gelten jedoch, wenn das Datensystem einen anderen Aufbau oder äquivalente Komponenten oder andere Betriebscharakteristika aufweist. In jedem Fall kann jede seiner Komponenten in mehrere Elemente aufgeteilt werden, oder zwei oder mehr Komponenten können zusammen in einem einzigen Element vereint werden; darüber hinaus kann jede Komponente repliziert werden, um die parallele Ausführung der entsprechenden Vorgänge zu unterstützen. Es wird ebenfalls darauf hingewiesen, dass (sofern nicht anderweitig angegeben) jede Interaktion zwischen unterschiedlichen Komponenten allgemein nicht kontinuierlich ablaufen muss und entweder direkt oder indirekt über ein oder mehrere Zwischenelemente ablaufen kann. Genauer kann dasselbe Verfahren auch auf einem auf einer anderen Architektur beruhenden Datenverarbeitungssystem ausgeführt werden (zum Beispiel ein Nah-, Weitbereichs- globales-, mobiles oder ein Satellitennetzwerk) und jeden beliebigen Typ von (kabelgebundener und/oder kabelloser) Verbindung nutzen; darüber hinaus ist eine Realisierung auf einem eigenständigen Computer nicht ausgeschlossen. In jedem Fall kann jeder Computer des Datenverarbeitungszentrums einen anderen Aufbau besitzen oder ähnliche Elemente aufweisen (wie zum Beispiel Cachespeicher, in denen die Programme oder Teile davon vorübergehend gespeichert werden); darüber hinaus ist es möglich, den Computer durch jede Codeausführungseinheit, die entweder auf einer physischen Maschine oder einer virtuellen Maschine (wie beispielsweise ein PDA, ein Mobiltelefon und Ähnliches) beruhen kann, oder durch eine Kombination mehrerer Einheiten (wie beispielsweise eine mehrstufige Architektur, einen Gitterrechneraufbau (grid computing structure) und Ähnliches) zu ersetzen.

Claims (8)

  1. Verfahren (A1 bis A20) zum Steuern der Verwendung virtueller Festplatten (110; 225) in einem Datenverarbeitungszentrum (100), das einen Satz von virtuellen Maschinen (220) beherbergt, wobei jede virtuelle Festplatte einen Satz von Softwareartefakten aufweist, wobei jede virtuelle Maschine eine daran angebundene virtuelle Systemfestplatte besitzt, wobei die virtuelle Systemfestplatte ein Gastbetriebssystem der virtuellen Maschine aufweist, wobei das Verfahren die Schritte aufweist des: Erkennens (A1) einer Anfrage des Hinzufügens einer neuen, einen Satz neuer Softwareartefakte aufweisenden virtuellen Festplatte (225n) zu einer ausgewählten virtuellen Maschine (220s) der virtuellen Maschinen, Ermittelns (A2 bis A4) von Zusammensetzungsinformationen der neuen virtuellen Festplatte, wobei die Zusammensetzungsinformationen der neuen virtuellen Festplatte eine Angabe der neuen Softwareartefakte aufweisen, Abrufens (A5) einer Angabe von Verwendungsberechtigungen der neuen Softwareartefakte im Datenverarbeitungszentrum, Ermöglichens oder Verhinderns (A6) der Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine gemäß einem Vergleich zwischen den Zusammensetzungsinformationen der neuen virtuellen Festplatte und den Verwendungsberechtigungen der neuen Softwareartefakte, Anbindens (A7 bis A12) der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine als Reaktion auf dessen Ermöglichen, wobei der Schritt des Anbindens (A7 bis A12) der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine das Aktivieren (A9 bis A12) der neuen Softwareartefakte durch Anwenden eines in der neuen virtuellen Festplatte enthaltenen Aktivierungsmoduls aufweist, in dem ein Deaktivierungsmodul der neuen Softwareartefakte von der neuen virtuellen Festplatte auf die virtuelle Systemfestplatte der ausgewählten virtuellen Maschine kopiert (A9) wird, Aktualisierens (A13) der Verwendungsberechtigungen der neuen Softwareartefakte als Reaktion auf die Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine, Erkennens (A15) einer Anfrage des Entfernens einer alten, einen Satz alter Softwareartefakte aufweisenden virtuellen Festplatte (225o) von einer weiteren ausgewählten virtuellen Maschine (220o) der virtuellen Maschinen, Aufhebens der Anbindung (A16 bis A18) der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine, wobei der Schritt des Aufhebens der Anbindung (A16 bis A18) der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine ein Deaktivieren (A16 bis A17) der alten Softwareartefakte aufweist, indem das entsprechende Deaktivierungsmodul von der virtuellen Systemfestplatte der weiteren ausgewählten virtuellen Maschine gestartet wird, Ermittelns (A19) von Zusammensetzungsinformationen der alten virtuellen Festplatte, wobei die Zusammensetzungsinformationen der alten virtuellen Festplatte eine Angabe der alten Softwareartefakte aufweisen, und Aktualisierens (A20) der Verwendungsberechtigungen der alten Softwareartefakte als Reaktion die Aufhebung der Anbindung der alten virtuellen Festplatte an die weitere ausgewählte virtuelle Maschine.
  2. Verfahren (A1 bis A20) nach Anspruch 1, wobei der Schritt des Ermittelns (A2 bis A4) von Zusammensetzungsinformationen der neuen virtuellen Festplatte ein Abrufen (A4) der Zusammensetzungsinformationen der neuen virtuellen Festplatte aus einer Zusammensetzungsbibliothek (420) als Reaktion auf deren Vorhandensein oder andernfalls ein Auffinden (A3) der Zusammensetzungsinformationen der neuen virtuellen Festplatte und ein Speichern der Zusammensetzungsinformationen der neuen virtuellen Festplatte in die Zusammensetzungsinformationen aufweist, und/oder wobei der Schritt des Ermittelns (A19) von Zusammensetzungsinformationen der alten virtuellen Festplatte ein Abrufen (A19) der Zusammensetzungsinformationen der alten virtuellen Festplatte aus der Zusammensetzungsbibliothek aufweist.
  3. Verfahren (A1 bis A20) nach Anspruch 2, wobei der Schritt des Auffindens (A3) der Zusammensetzungsinformationen der neuen virtuellen Festplatte aufweist: Entnehmen (A4) der Zusammensetzungsinformationen der neuen virtuellen Festplatte aus einem in der neuen Festplatte enthaltenen Beschreiber davon.
  4. Verfahren (A1 bis A20) nach einem der Ansprüche 1 bis 3, wobei der Schritt des Ermöglichens oder Verhinderns (A6) der Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine aufweist: Ermöglichen (A6) der Anbindung als Reaktion auf ein Vorliegen der Verwendungsberechtigungen der neuen Softwareartefakte in Folge der Anbindung der neuen virtuellen Festplatte an die ausgewählte virtuelle Maschine, oder andernfalls Verhindern der Anbindung.
  5. Verfahren (A1 bis A20) nach Anspruch 1, wobei der Schritt des Aktivierens (A9 bis A12) der neuen Softwareartefakte aufweist: Sammeln (A11) von Konfigurationsinformationen der ausgewählten virtuellen Maschine, und benutzerspezifisches Anpassen (A12) mindestens eines der neuen Softwareartefakte gemäß den Konfigurationsinformationen der ausgewählten virtuellen Maschine.
  6. Verfahren (A1 bis A20) nach Anspruch 1, wobei der Schritt des Deaktivierens (A16 bis A18) der alten Softwareartefakte aufweist: Löschen (A17) des Deaktivierungsmoduls der alten Softwareartefakte von der virtuellen Systemfestplatte der weiteren ausgewählten virtuellen Maschine.
  7. Computerprogramm (400), das ein Codemittel aufweist, um ein Datenverarbeitungssystem (100) zu veranlassen, die Schritte des Verfahrens (A1 bis A20) nach einem der Ansprüche 1 bis 6 durchzuführen, wenn das Computerprogramm auf dem Datenverarbeitungssystem ausgeführt wird.
  8. Datenverarbeitungssystem (100), das ein Mittel (400) aufweist, das für das Durchführen der Schritte des Verfahrens (A1 bis A20) nach einem der Ansprüche 1 bis 6 eingerichtet ist.
DE102012221512.3A 2011-12-09 2012-11-26 Steuern der Verwendung virtueller Festplatten vor deren Anbindung an virtuelle Maschinen Active DE102012221512B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11192712.5 2011-12-09
EP11192712 2011-12-09

Publications (2)

Publication Number Publication Date
DE102012221512A1 DE102012221512A1 (de) 2013-06-13
DE102012221512B4 true DE102012221512B4 (de) 2020-12-10

Family

ID=48464936

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012221512.3A Active DE102012221512B4 (de) 2011-12-09 2012-11-26 Steuern der Verwendung virtueller Festplatten vor deren Anbindung an virtuelle Maschinen

Country Status (2)

Country Link
US (2) US10282221B2 (de)
DE (1) DE102012221512B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007998A (zh) * 2013-02-25 2014-08-27 纬创资通股份有限公司 用于计算机系统的文件转换方法
US9678769B1 (en) 2013-06-12 2017-06-13 Amazon Technologies, Inc. Offline volume modifications
GB2516842A (en) * 2013-07-31 2015-02-11 Ibm Deployment of software images with distinct configuration logic
US10387181B2 (en) * 2016-01-12 2019-08-20 International Business Machines Corporation Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment
US10936352B2 (en) * 2019-06-22 2021-03-02 Vmware, Inc. High performance application delivery to VDI desktops using attachable application containers
US11720339B2 (en) 2021-05-24 2023-08-08 Capital One Services, Llc Systems and methods for updating automatic teller machines
US11804111B1 (en) 2022-04-27 2023-10-31 Capital One Services, Llc Systems and methods for management of automatic teller machines

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134176A1 (en) * 2006-10-17 2008-06-05 Managelq, Inc. Enforcement of compliance policies in managed virtual systems
US20090328225A1 (en) * 2007-05-16 2009-12-31 Vmware, Inc. System and Methods for Enforcing Software License Compliance with Virtual Machines
US20100205303A1 (en) * 2009-02-10 2010-08-12 Pradeep Kumar Chaturvedi Virtual machine software license management
US20110072431A1 (en) * 2009-09-24 2011-03-24 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
US20110179268A1 (en) * 2010-01-20 2011-07-21 Microsoft Corporation Protecting applications with key and usage policy

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735701B1 (en) * 1998-06-25 2004-05-11 Macarthur Investments, Llc Network policy management and effectiveness system
US6282710B1 (en) * 1998-10-28 2001-08-28 Veritas Software Corp. Apparatus and method for externally initiating automatic execution of media placed in basic removable disc drives
US6405362B1 (en) * 1998-11-13 2002-06-11 Microsoft Corporation Automatic software installation and cleanup
US7814335B2 (en) * 1999-03-18 2010-10-12 Dell Products L.P. System and method for installing system manufacturer provided software
US7043725B1 (en) * 1999-07-09 2006-05-09 Hewlett-Packard Development Company, L.P. Two tier arrangement for threads support in a virtual machine
DE10017767A1 (de) * 2000-04-10 2001-10-18 Infineon Technologies Ag Verfahren zur Herstellung von Masken für die Fertigung von Halbleiterstrukturen
US6820099B1 (en) * 2001-04-13 2004-11-16 Lsi Logic Corporation Instantaneous data updating using snapshot volumes
US7143409B2 (en) * 2001-06-29 2006-11-28 International Business Machines Corporation Automated entitlement verification for delivery of licensed software
US7734778B2 (en) * 2002-04-05 2010-06-08 Sheng (Ted) Tai Tsao Distributed intelligent virtual server
US8041642B2 (en) * 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US20050132353A1 (en) * 2003-12-11 2005-06-16 Chueh-Hsin Chen Method for installing networked attached storage
US7555596B2 (en) 2004-12-10 2009-06-30 Microsoft Corporation Systems and methods for attaching a virtual machine virtual hard disk to a host machine
US8370819B2 (en) * 2005-03-25 2013-02-05 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
US20070018450A1 (en) 2005-07-19 2007-01-25 Mehdi Golafshani Fitting assembly for internally sealing a corrugated tube and a method for using the same
US7590841B2 (en) * 2005-07-19 2009-09-15 Microsoft Corporation Automatic update of computer-readable components to support a trusted environment
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070198427A1 (en) * 2006-02-22 2007-08-23 Microsoft Corporation Computer service licensing management
JP4681505B2 (ja) * 2006-05-23 2011-05-11 株式会社日立製作所 計算機システム、管理計算機及びプログラム配布方法
US8037473B2 (en) 2006-10-20 2011-10-11 International Business Machines Corporation Method to share licensed applications between virtual machines
KR100927442B1 (ko) * 2007-08-16 2009-11-19 주식회사 마크애니 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법
US10013536B2 (en) * 2007-11-06 2018-07-03 The Mathworks, Inc. License activation and management
US9753712B2 (en) * 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
JP4976337B2 (ja) * 2008-05-19 2012-07-18 株式会社日立製作所 プログラム配信装置及び方法
US8336047B2 (en) * 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
JP5219729B2 (ja) * 2008-10-20 2013-06-26 キヤノン株式会社 ライセンス管理システム及びライセンス管理システムの制御方法
US8646098B2 (en) 2009-06-25 2014-02-04 Flexera Software Llc Method and system for software licensing under machine virtualization
US8719069B2 (en) * 2009-07-23 2014-05-06 Brocade Communications Systems, Inc. Method and apparatus for providing virtual machine information to a network interface
US8392838B2 (en) * 2010-01-27 2013-03-05 Vmware, Inc. Accessing virtual disk content of a virtual machine using a control virtual machine
US8452921B1 (en) * 2010-03-17 2013-05-28 Network Appliance, Inc. Provisioning a pass-through disk in a virtualized computing environment
CN102971722B (zh) 2010-05-09 2015-01-07 思杰系统有限公司 用于创建和传送加密的虚拟盘的系统和方法
US20120047568A1 (en) * 2010-08-17 2012-02-23 MyWeboo Inc. Digital Asset Management on the Internet
EP2630580A4 (de) * 2010-10-19 2014-04-02 Hewlett Packard Development Co Verahren und systeme zur erzeugung von autorisierten virtuellen geräten
US20120174096A1 (en) * 2010-12-30 2012-07-05 Matthew Conover Systems and methods to load applications and application data into a virtual machine using hypervisor-attached volumes
CN102637174A (zh) * 2011-02-11 2012-08-15 鸿富锦精密工业(深圳)有限公司 镜像文件管理系统及镜像文件管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134176A1 (en) * 2006-10-17 2008-06-05 Managelq, Inc. Enforcement of compliance policies in managed virtual systems
US20090328225A1 (en) * 2007-05-16 2009-12-31 Vmware, Inc. System and Methods for Enforcing Software License Compliance with Virtual Machines
US20100205303A1 (en) * 2009-02-10 2010-08-12 Pradeep Kumar Chaturvedi Virtual machine software license management
US20110072431A1 (en) * 2009-09-24 2011-03-24 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
US20110179268A1 (en) * 2010-01-20 2011-07-21 Microsoft Corporation Protecting applications with key and usage policy

Also Published As

Publication number Publication date
DE102012221512A1 (de) 2013-06-13
US10635482B2 (en) 2020-04-28
US20130152084A1 (en) 2013-06-13
US20190213035A1 (en) 2019-07-11
US10282221B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
DE102012221512B4 (de) Steuern der Verwendung virtueller Festplatten vor deren Anbindung an virtuelle Maschinen
DE112012004893B4 (de) Implementieren eines Software-Abbildes auf mehreren Zielen unter Verwendung einer Datenstromtechnik
CN110427248B (zh) 一种基于容器的轻量级用户环境构建方法、系统及介质
US10013291B1 (en) Enhanced software application platform
DE112011104325T5 (de) Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
DE112011102831T5 (de) Ein Verfahren, Computerprogramm und System zum automatischen Hochrüsten virtueller Einheiten
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE102007032050A1 (de) Anordnung und Verfahren zum Aktualisieren von Firmware
EP2488986B1 (de) Verfahren und vorrichtung zum betreiben einer virtuellen maschine gemäss einer zugeordneten rechteinformation
US20220156064A1 (en) Out of band layer scrubbing
DE112011103880T5 (de) Direktes Migrieren von Software-Abbildern mit Streaming-Technik
DE112010004160T5 (de) Portieren virtueller Abbilder zwischen Plattformen
DE112011105577T5 (de) Virtueller hochprivilegierter Modus für eine Systemverwaltungsanforderung
DE112011104356T5 (de) Heraufstufen von Software-Images auf der Grundlage von Streaming-Technik
DE102010001339A1 (de) Verwalten von Anforderungen von Betriebssystemen, die in virtuellen Maschinen ablaufen
DE112011102876T5 (de) Ressourcenverwaltungs- und Sicherheitssystem
DE112012004793T5 (de) Verfahren und System zum Erzeugen einer virtuellen Anwendung
DE112012005146T5 (de) Verfahren und System zum Anwenden einer Programmkorrektur auf ein virtuelles Abbild
US9424113B2 (en) Virtual appliance deployment
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
CN113296891A (zh) 基于平台的多场景知识图谱处理方法及装置
US9501316B2 (en) Instantiating virtual appliances of a storage array
US11263053B2 (en) Tag assisted cloud resource identification for onboarding and application blueprint construction
US20120005677A1 (en) Computing Machine and Method for Controlling Computing Machine
US20220156102A1 (en) Supporting unmodified applications in a multi-tenancy, multi-clustered environment

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final