DE102016103713A1 - Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs - Google Patents

Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs Download PDF

Info

Publication number
DE102016103713A1
DE102016103713A1 DE102016103713.3A DE102016103713A DE102016103713A1 DE 102016103713 A1 DE102016103713 A1 DE 102016103713A1 DE 102016103713 A DE102016103713 A DE 102016103713A DE 102016103713 A1 DE102016103713 A1 DE 102016103713A1
Authority
DE
Germany
Prior art keywords
descriptor
software
descriptor set
sealed
computer
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.)
Pending
Application number
DE102016103713.3A
Other languages
English (en)
Inventor
Pawel Gocek
Piotr Kania
Marcin Labenski
Michal Paluch
Tomasz Stopa
Artur K. Zezula
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 DE102016103713A1 publication Critical patent/DE102016103713A1/de
Pending legal-status Critical Current

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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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

Abstract

Software-Asset-Management (SAM) für virtuelle Umgebungen zum Durchführen der folgenden Operationen: (i) Sammeln eines Satzes eines oder mehrerer Deskriptorsätze in einer virtuellen Maschine (VM), wobei jeder VM-Deskriptorsatz einem von Folgendem entspricht: einer VM-Einheit oder einem versiegelten VM-Abbild; (ii) Ermitteln für jeden VM-Deskriptorsatz aus dem Satz der VM-Deskriptorsätze, ob eine Übereinstimmung mit einem Eintrag in einem VM-Deskriptorsatz/Datensatz einer Software-Anwendungsabbildung besteht; und (iii) sofern eine Übereinstimmung besteht, Ermitteln für jeden VM-Deskriptorsatz aus dem Satz der VM-Deskriptorsätze einer Kennung eines Satzes von Software-Anwendungen in der VM-Einheit oder dem versiegelten VM-Abbild, der dem VM-Deskriptorsatz entspricht, und zwar auf der Grundlage des entsprechenden übereinstimmenden Eintrags in dem VM-Deskriptor/dem Software-Abbildungsdatensatz.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet von Software-Lizenzverwaltungen und insbesondere auf das Erkennen der Nutzung von lizenzierter Software in einer komplexen und dynamischen virtuellen Maschinenumgebung.
  • Es ist bekannt, dass Software in Form eines „versiegelten VM-Abbildes” (VM = virtuelle Maschine) von einem Anbieter zu einem Kunden übertragen wird. Das versiegelte VM-Abbild wird in der Virtualisierungsumgebung des Kunden implementiert, sodass der Kunde die Software verwenden kann. Das versiegelte VM-Abbild beinhaltet typischerweise eine eigenständige virtuelle Maschine, die von einem Betriebssystem gesteuert wird, welches eine oder mehrere Anwendungen ausführt (d. h. Software-Teile, die der Kunde verwenden möchte). Diese Anwendungen sind normalerweise vorkonfiguriert, da eine Vorkonfiguration in einem VM-Kontext relativ einfach durchzuführen ist. Wenn das versiegelte VM-Abbild in der Virtualisierungsumgebung installiert ist und ausgeführt wird, wird es als „virtuelle Einheit” (virtual appliance) bezeichnet. Kunden können mit diesen virtuellen Einheiten typischerweise schnell, einfach und zuverlässig Folgendes machen: (i) eine virtuelle Einheit kaufen und herunterladen; (ii) Konfigurationseinzelheiten einstellen; und (iii) Betriebsstatus erreichen.
  • DTMF OVF (Distributed Management Task Force Open Virtualization Format = Offenes Virtualisierungsformat von Distributed Management Task Force, das hier zuweilen der Einfachheit halber als OVF bezeichnet wird) ist ein gängiges Verpackungsformat für unabhängige Software-Anbieter (Independent Software Vendors, ISVs), um virtuelle Einheiten zu verpacken und sicher zu verteilen und dadurch eine plattformübergreifende Übertragbarkeit zu ermöglichen. Durch das Verpacken von virtuellen Einheiten in OVF können ISVs eine einzelne, vorgepackte Einheit erstellen, die auf Virtualisierungsplattformen nach Wahl der Kunden ausgeführt werden kann. In OVF können zum Beispiel Informationen über den Anbieter und das Produkt gespeichert werden, auf die der VM-Manager später zugreifen kann. Deskriptoren, die in einem in OVF-Format gepackten Produkt enthalten sind, können Informationen über die installierte Software wie z. B. Produktname, Anbietername, Software-Version, Produkt-URI (Produkt-Verweisadresse) und/oder Anbieter-URL usw. bereitstellen. Mit OVF können Deskriptoren in Bereiche wie z. B. Platten, Netzwerk, Ressource, Produkt, Bestimmungen der Endbenutzer-Lizenzvereinbarung usw. zusammengefasst werden. OVF-Deskriptoren werden üblicherweise verwendet, um dem VM-Manager zusätzliche Informationen über die VM bereitzustellen.
  • Werkzeuge für das Software-Asset-Management (SAM) sind eine bekannte Art von Software. SAM wird üblicherweise eingesetzt, um herkömmliche Software (d. h. Software vom Typ eines nichtversiegelten VM-Abbilds) zu registrieren und zu überwachen, die in einer Einrichtung oder einem Unternehmen installiert und verwendet wird. SAM ist typischerweise ein wichtiges Werkzeug für Aktivitäten im Zusammenhang mit dem Asset-Management, dazu gehört beispielsweise ein Überwachen von Aktivitäten im Zusammenhang mit Software-Lizenzzahlungen (siehe die nachstehende Definition von „Asset-Management” im Unterabschnitt „Definitionen” des Abschnitts „Ausführliche Beschreibung”).
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung führen ein Verfahren, ein Computerprogrammprodukt und/oder ein System die folgenden Operationen (nicht notwendigerweise in der nachstehenden Reihenfolge) durch: (i) Sammeln eines Satzes von Deskriptorsätzen einer virtuellen Maschine (VM), wobei jeder VM-Deskriptorsatz einem von Folgendem entspricht: einer VM-Einheit oder einem versiegelten VM-Abbild; (ii) Ermitteln für jeden VM-Deskriptorsatz aus dem Satz der VM-Deskriptorsätze, ob eine bereinstimmung mit einem Eintrag in einem VM-Deskriptorsatz/Datensatz einer Software-Anwendungsabbildung besteht; und (iii) sofern eine Übereinstimmung besteht, Ermitteln für jeden VM-Deskriptorsatz aus dem Satz der VM-Deskriptorsätze einer Kennung eines Satzes von Software-Anwendungen in der VM-Einheit oder dem versiegelten VM-Abbild, der dem VM-Deskriptorsatz entspricht, und zwar auf der Grundlage des entsprechenden übereinstimmenden Eintrags in dem VM-Deskriptor/Software-Abbildungsdatensatz.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt einen Cloud-Datenverarbeitungsknoten, der in einer ersten Ausführungsform eines Systems gemäß der vorliegenden Erfindung verwendet wird;
  • 2 zeigt eine Ausführungsform einer Cloud-Datenverarbeitungsumgebung (auch „erstes Ausführungssystem” genannt) gemäß der vorliegenden Erfindung;
  • 3 zeigt Abstraktionsmodellschichten, die in dem ersten Ausführungssystem verwendet werden;
  • 4 ist ein Ablaufplan, der ein erstes Ausführungsverfahren zeigt, das zumindest teilweise von dem ersten Ausführungssystem durchgeführt wird; und
  • 5 ist ein Blockschaltbild, das einen Teil einer Maschinenlogik (z. B. Software) des ersten Ausführungssystems zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei einigen Ausführungsformen der vorliegenden Erfindung werden OVF-Deskriptoren (oder andere ähnliche VM-Deskriptoren) verwendet, um Software-Anwendungen zu erkennen, die in der VM ablaufen und ausgeführt werden, welche dem VM-Abbild entspricht, auf das sich die VM-Deskriptoren beziehen. Bei einigen Ausführungsformen der vorliegenden Erfindung sind die Beziehungen zwischen den VM-Deskriptoren und den Software-Anwendungen in dem VM-Abbild wie folgt: (i) zuvor festgelegt und bekannt; und/oder (ii) durch die Maschinenlogik auf der Grundlage historischer Daten festgelegt, die von zahlreichen (häufig einer sehr großen Anzahl) von VMs gesammelt werden, die Software-Anwendungen ausführen, bei denen sowohl die VM-Deskriptoren als auch die Software-Anwendungen bekannt sind, die in der VM ausgeführt werden und dort ablaufen. Bei einigen Ausführungsformen werden VM-Deskriptorinformationen und Informationen über die Software, die in der VM ausgeführt wird und dort abläuft, (d. h. historische Daten) über eine ganze Computernetzwerkinfrastruktur gesammelt. Wenn zum Beispiel ein gegebener Satz von VM-Deskriptoren eines versiegelten VM-Abbilds „softwareanbieterspezifisch” ist: (i) können diese Informationen verwendet werden, um eine „Deskriptor/Software-Abbildung” in einem „Deskriptor/Software-Anwendungskatalog” zu machen; und/oder (ii) der Deskriptor/der Software-Abbildungskatalog (oder die Tabelle) kann als Grundlage für auf das Asset-Management bezogene Aktivitäten verwendet werden (siehe die Definition von „Asset-Management”, auf die weiter unten in dem Unterabschnitt „Definitionen” des Abschnitts „Ausführliche Beschreibung” Bezug genommen wird), wie z. B. zum Festlegen eines Satzes von benötigten Software-Anwendungslizenzen.
  • Der vorliegende Abschnitt „Ausführliche Beschreibung” ist in folgende Unterabschnitte unterteilt: (i) Hardware- und Software-Umgebung; (ii) beispielhafte Ausführungsform; (iii) weitere Anmerkungen und/oder Ausführungsformen; und (iv) Definitionen.
  • I. HARDWARE- UND SOFTWARE-UMGEBUNG
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder am Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder computerlesbare Speichermedien) mit darauf befindlichen computerlesbaren Programmanweisungen beinhalten, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen enthalten und speichern kann, welche von einer Einheit zum Ausführen von Anweisungen verwendet wird. Das computerlesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine geeignete Kombination des Vorstehenden sein, ohne darauf beschränkt zu sein. Zu einer nicht vollständigen Liste von genaueren Beispielen für das computerlesbare Speichermedium gehören wie folgt: eine tragbare Computer-Diskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disk (DVD), ein Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie Lochkarten oder erhöhte Strukturen in einer Rille mit darauf aufgezeichneten Anweisungen sowie jede geeignete Kombination des Vorstehenden. Unter einem computerlesbaren Speichermedium wie hier verwendet sind keine transitorischen Signale an sich wie Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich über einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z. B. Lichtpulse, die einen Lichtwellenleiter durchlaufen) oder über ein Kabel übertragene elektrische Signale zu verstehen.
  • Die hier beschriebenen computerlesbaren Programmanweisungen können von einem computerlesbaren Speichermedium auf entsprechende Datenverarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit über ein Netzwerk wie beispielsweise das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, optische Lichtwellenleiterkabel, drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungseinheit empfängt computerlesbare Programmanweisungen von dem Netzwerk und leitet die computerlesbaren Programmanweisungen zum Speichern in einem computerlesbaren Speichermedium in der entsprechenden Datenverarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, Anweisungen einer Befehlssatzarchitektur, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, Zustandseinstelldaten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, zu denen eine objektorientierte Programmiersprache wie beispielsweise Smalltalk, C++ oder ähnliche sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache ”C” oder ähnliche Programmiersprachen gehören. Die computerlesbaren Programmanweisungen können ganz auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder ganz auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Im letztgenannten Szenario kann der entfernt angeordnete Computer über ein beliebiges Netzwerk mit dem Computer des Benutzers verbunden sein, zum Beispiel über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder es kann die Verbindung zu einem externen Computer hergestellt werden (beispielsweise über das Internet durch einen Internetdienstanbieter). Bei einigen Ausführungsformen können elektronische Schaltungen, zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatteranordnungen (field-programmable gate array, FPGA) oder programmierbare Logikanordnungen (programmable logic array, PLA), die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen zum Individualisieren der elektronischen Schaltung verwenden, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hier unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaltbilder sowie Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder in den Blockschaltbildern durch computerlesbare Programmanweisungen umgesetzt werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Universalrechners, eines Spezialrechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, sodass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegten Funktionen/Maßnahmen umzusetzen. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten steuern kann, um auf eine bestimmte Weise zu funktionieren, sodass die in dem computerlesbaren Speichermedium gespeicherten Anweisungen einen Herstellungsartikel einschließlich der Anweisungen erzeugen, die die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegte Funktion/Maßnahme umsetzen.
  • Die computerlesbaren Programmanweisungen können ferner in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheit geladen werden, um eine Reihe von Funktionsschritten auszulösen, die auf dem Computer, in der anderen programmierbaren Vorrichtung oder der anderen Einheit durchgeführt werden, um einen auf einem Computer implementierten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer, in der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt werden, Prozesse/Maßnahmen bereitstellen, die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegt sind.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen 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 einen Teil von Anweisungen darstellen, das/der eine oder mehrere ausführbare Anweisungen zur Umsetzung der festgelegten Logikfunktion(en) aufweist. Bei einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren dargestellt ablaufen. Zwei aufeinanderfolgend dargestellte Blöcke können zum Beispiel tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blocke können je nach entsprechender Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Des Weiteren ist darauf hinzuweisen, dass jeder Block der Blockschaltbilder und/oder der Ablaufplandarstellung sowie Kombinationen von Blöcken in den Blockschaltbildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die angegebenen Funktionen oder Maßnahmen durchführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen.
  • Die vorliegende Offenbarung enthält zwar eine ausführliche Beschreibung einer Cloud-Datenverarbeitung, es versteht sich jedoch von vornherein, dass die Umsetzung der hier dargelegten Lehren nicht auf eine Cloud-Datenverarbeitungsumgebung beschränkt ist. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit einer beliebigen Art von Datenverarbeitungsumgebung umgesetzt werden, die jetzt bekannt ist oder später entwickelt wird.
  • Cloud-Datenverarbeitung ist ein Modell zum Liefern eines Dienstes, der einen problemlosen, bedarfsorientierten Netzwerkzugang zu einem gemeinsamen Pool an konfigurierbaren Datenverarbeitungsressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die rasch bereitgestellt und mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter eines Dienstes freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Merkmale, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle beinhalten.
  • Die Merkmale sind wie folgt:
    Bedarfsorientierte Selbstbedienung (on-demand self-service): Ein Cloud-Verbraucher kann einseitig Datenverarbeitungsfähigkeiten, z. B. Server-Zeit und Netzwerkspeicher, nach Bedarf automatisch bereitstellen, ohne dass menschliche Interaktion mit dem Anbieter des Dienstes erforderlich ist.
  • Breiter Netzwerkzugriff: Über ein Netzwerk sind Fähigkeiten verfügbar, auf die über Standardmechanismen zugegriffen wird und die eine Nutzung über heterogene schlanke oder leistungsintensive Client-Plattformen unterstützen (z. B. Mobiltelefone, Laptops und PDAs).
  • Ressourcen-Zusammenschluss: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um viele Verbraucher über ein Mehrmietermodell zu bedienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch dem Bedarf entsprechend zugewiesen und erneut zugewiesen werden. Es besteht ein Gefühl der Ortsunabhängigkeit insofern, als der Verbraucher in der Regel keine Kontrolle bzw. kein Wissen über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, den Standort auf einer höheren Abstraktionsebene anzugeben (z. B. Land, Staat oder Datenzentrum).
  • Schnelle Elastizität: Fähigkeiten können schnell und elastisch bereitgestellt werden, in manchen Fällen automatisch, um rasch vergrößert zu werden, und schnell freigegeben werden, um rasch verkleinert zu werden. Für den Verbraucher erscheinen die Fähigkeiten, die zum Bereitstellen zur Verfügung stehen, als unbegrenzt und können jederzeit in jeder beliebigen Menge eingekauft werden.
  • Gemessener Dienst: Cloud-Systeme kontrollieren und optimieren die Ressourcennutzung automatisch durch Ausnutzen einer Messfunktion auf einer Abstraktionsebene, die für die Art des Dienstes geeignet ist (z. B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, kontrolliert und protokolliert werden, wodurch für den Anbieter und den Kunden des genutzten Dienstes Transparenz bereitgestellt wird.
  • Es gibt folgende Dienstmodelle:
    Software as a Service (Saas – Software als Dienst): Die dem Verbraucher bereitgestellte Fähigkeit besteht darin, die auf einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters zu nutzen. Die Anwendungen sind über eine schlanke Client-Schnittstelle, z. B. einen Web-Browser (z. B. auf dem Web beruhende eMail), von verschiedenen Client-Einheiten aus zugänglich. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur mit Netzwerk, Servern, Betriebssystemen, Speicher oder auch einzelne Anwendungsfunktionen, mit der möglichen Ausnahme begrenzter nutzerspezifischer Einstellungen der Anwendungskonfiguration.
  • Platform as a Service (Paas – Plattform als Dienst): Die Funktion, die dem Verbraucher bereitgestellt wird, besteht darin, vom Verbraucher geschaffene oder erworbene Anwendungen mit Hilfe von Programmiersprachen und Werkzeugen, die vom Anbieter unterstützt werden, auf der Cloud-Infrastruktur zu implementieren. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur mit Netzwerken, Servern, Betriebssystemen oder Speicher, hat aber die Kontrolle über die implementierten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendung.
  • Infrastruktur as a Service (laas – Infrastruktur als Dienst): Die dem Verbraucher bereitgestellte Fähigkeit besteht darin, Verarbeitung, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Verbraucher in der Lage ist, beliebige Software zu implementieren und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, hat aber die Kontrolle über Betriebssysteme, Speicher, implementierte Anwendungen und möglicherweise begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
  • Es gibt folgende Implementierungsmodelle:
    Private Cloud: Die Cloud-Infrastruktur wird nur für eine Einrichtung betrieben. Sie kann von der Einrichtung oder Dritten verwaltet werden und sich am Ort der Einrichtung oder an einem anderen Ort befinden.
  • Gemeinschafts-Cloud: Die Cloud-Infrastruktur wird von mehreren Einrichtungen gemeinsam genutzt und unterstützt eine bestimmte Gemeinschaft, die gemeinsame Anliegen hat (z. B. Aufgabe, Sicherheitsanforderungen, Konzept und Konformitätsbetrachtungen). Sie kann von den Einrichtungen oder einem Dritten verwaltet werden und kann sich am Ort der Einrichtung oder an einem anderen Ort befinden.
  • Öffentliche Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe zur Verfügung gestellt und gehört einer Einrichtung, die Cloud-Dienste verkauft.
  • Hybride Cloud: Die Cloud-Infrastruktur besteht aus zwei oder mehr Clouds (privat, gemeinschaftlich oder öffentlich), die eigenständige Entitäten bleiben, aber durch standardisierte oder herstellereigene Technologie miteinander verknüpft sind, die eine Übertragbarkeit von Daten und Anwendungen ermöglicht (z. B. blockweiser Transfer der Cloud zum Lastausgleich zwischen Clouds).
  • Eine Cloud-Datenverarbeitungsumgebung ist ein Dienst, der schwerpunktmäßig auf Zustandslosigkeit, geringe Kopplung, Modularität und semantische Interaperabilität ausgerichtet ist. Der Kern der Cloud-Datenverarbeitung ist eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten umfasst.
  • Mit Bezug auf 1 nunmehr ist ein Schema eines Beispiels eines Cloud-Datenverarbeitungsknotens dargestellt. Der Cloud-Datenverarbeitungsknoten 10 ist nur ein Beispiel eines geeigneten Cloud-Datenverarbeitungsknotens und soll keine Beschränkung des Umfangs der Nutzung oder Funktionalität von Ausführungsformen der hier beschriebenen Erfindung nahelegen. Ungeachtet dessen kann der Cloud-Datenverarbeitungsknoten 10 implementiert werden und/oder eine beliebige der oben dargelegten Funktionalitäten durchführen.
  • Im Cloud-Datenverarbeitungsknoten 10 gibt es ein Computersystem/einen Server 12, der mit zahlreichen anderen universellen oder speziellen Datenverarbeitungssystem-Umgebungen oder Konfigurationen funktionsfähig ist. Beispiele für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für die Nutzung mit dem Computersystem/Server 12 geeignet sein können, sind unter anderem, ohne darauf beschränkt zu sein, Personal-Computer-Systeme, Server-Computer-Systeme, schlanke Clients, leistungsintensive Clients, Hand- oder Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme und verteilte Cloud-Datenverarbeitungsumgebungen, die jedes beliebige der oben genannten Systeme oder Einheiten und Ähnliches enthalten.
  • Das Computersystem/der Server 12 kann im allgemeinen Kontext von durch Computersystem ausführbaren Anweisungen beschrieben werden, z. B. Programmmodule, die auf einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Das Computersystem/der Server 12 kann in verteilten Cloud-Datenverarbeitungsumgebungen eingesetzt werden, wo die Aufgaben von entfernt angeordneten Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Datenverarbeitungsumgebung können sich Programmmodule sowohl auf lokalen als auch auf entfernt angeordneten Systemspeichermedien befinden, darunter Speichereinheiten mit Arbeitsspeichern.
  • Wie in 1 gezeigt, wird das Computersystem/der Server 12 im Cloud-Datenverarbeitungsknoten 10 in Form einer universellen Datenverarbeitungseinheit dargestellt. Bei den Komponenten des Computersystems/Servers 12 kann es sich – ohne darauf beschränkt zu sein – um einen oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemspeicher 28 und einen Bus 18 handeln, der verschiedene Systemkomponenten, darunter den Systemspeicher 28, mit dem Prozessor 16 verbindet.
  • Der Bus 18 stellt einen oder mehrere von beliebigen mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder eine Speichersteuereinheit, einen Peripheriebus, eine AGP-Schnittstelle (Accelerated Graphics Port) und einen Prozessor oder lokalen Bus, der eine beliebige aus einer Vielfalt von Busarchitekturen nutzt. Beispielsweise und nicht einschränkend enthalten solche Architekturen einen Industry-Standard-Architecture-(ISA-)Bus, einen Micro-Channel-Architecture-(MCA-)Bus, einen Enhanced-ISA-(EISA-)Bus, einen lokalen Video-Electronics-Standards-Association-(VESA-)Bus und einen Peripheral-Component-Interconnects-(PCI-)Bus.
  • Das Computersystem/der Server 12 beinhaltet üblicherweise eine Vielfalt von computerlesbaren Medien. Bei diesen Medien kann es sich um beliebige verfügbare Medien handeln, auf die das Computersystem/der Server 12 zugreifen kann, darunter flüchtige und nichtflüchtige Medien, wechselbare und nichtwechselbare Medien.
  • Der Systemspeicher 28 kann vom Computersystem lesbare Medien in Form von flüchtigen Speichern, z. B. Direktzugriffsspeicher (RAM) 30 und/oder Zwischenspeicher 32, beinhalten. Das Computersystem/der Server 12 kann ferner weitere wechselbare/nichtwechselbare, flüchtige/nichtflüchtige Computersystem-Speichermedien beinhalten. Nur beispielhaft kann das Speichersystem 34 bereitgestellt werden, um ein nichtwechselbares, nichtflüchtiges magnetisches Medium auszulesen und zu beschreiben (nicht dargestellt und üblicherweise als „Festplatte” bezeichnet). Obwohl nicht dargestellt, können ein Laufwerk für magnetische Speicherplatten zum Auslesen und Beschreiben einer wechselbaren, nichtflüchtigen magnetischen Speicherplatte (z. B. „Diskette”) und ein Laufwerk für optische Speicherplatten zum Auslesen oder Beschreiben einer wechselbaren, nichtflüchtigen optischen Speicherplatte wie einer CD-ROM, DVD-ROM und andere optische Medien bereitgestellt werden. In solchen Fällen kann jedes über eine oder mehrere Datenmedien-Schnittstellen mit dem Bus 18 verbunden sein. Wie unten weiter dargestellt und beschrieben, kann der Speicher 28 mindestens ein Programmprodukt mit einem (z. B. mindestens einem) Satz von Programmmodulen beinhalten, die so konfiguriert sind, dass sie die Funktionen und Ausführungsformen der Erfindung ausführen.
  • Das Programm/Dienstprogramm 40 mit (mindestens) einem Satz von Programmmodulen 42 kann beispielsweise und nicht einschränkend im Speicher 28 gespeichert sein, ebenso ein Betriebssystem, eines oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten oder eine Kombination davon können jeweils eine Implementierung einer Netzwerkumgebung beinhalten. Die Programmmodule 42 führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der hier beschriebenen Erfindung aus.
  • Das Computersystem/der Server 12 kann auch mit einem oder mehreren externen Einheiten 14, z. B. einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw.; einer oder mehreren Einheiten, die einen Benutzer in die Lage versetzen, mit dem Computersystem/dem Server 12 zu interagieren; und/oder beliebigen Einheiten (z. B. Netzwerkkarte, Modem usw.), die das Computersystem/den Server 12 in die Lage versetzen, mit einer oder mehreren Datenverarbeitungseinheiten Daten auszutauschen, kommunizieren. Eine solche Kommunikation kann über Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 22 erfolgen. Überdies kann das Computersystem/der Server 12 mit einem oder mehreren Netzwerken, z. B. einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z. B. das Internet) über den Netzwerkadapter 20 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 20 über den Bus 18 mit den anderen Komponenten des Computersystems/Servers 12 Daten aus. Es versteht sich, dass sonstige Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden können, auch wenn sie nicht dargestellt sind. Beispiele sind unter anderem, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Arrays von Festplattenlaufwerken-, RAID-Systeme, Bandlaufwerke und Speichersysteme für die Datenarchivierung usw.
  • Mit Bezug nunmehr auf 2 ist eine veranschaulichende Cloud-Datenverarbeitungsumgebung 50 dargestellt. Wie gezeigt, weist die Cloud-Datenverarbeitungsumgebung 50 einen oder mehrere Cloud-Datenverarbeitungsknoten 10 auf, mit denen lokale, von Cloud-Verbrauchern genutzte Datenverarbeitungseinheiten z. B. der persönliche digitale Assistent (PDA) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Kraftfahrzeug-Computersystem 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell, in einem oder mehreren Netzwerken, z. B. private, gemeinschaftliche, öffentliche oder hybride Clouds wie oben beschrieben, oder in einer Kombination davon in Gruppen angeordnet sein (nicht dargestellt). Dies ermöglicht es der Cloud-Datenverarbeitungsumgebung 50, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Verbraucher keine Ressourcen auf einer lokalen Datenverarbeitungseinheit unterhalten muss. Es ist ersichtlich, dass die Arten von Datenverarbeitungseinheiten 54A bis N, die in 2 dargestellt sind, nur veranschaulichend sein sollen und die Datenverarbeitungsknoten 10 und die Cloud-Datenverarbeitungsumgebung 50 mit jeder Art von computergestützter Einheit über jede Art von Netzwerk und/oder netzwerkadressierbarer Verbindung Daten austauschen kann (z. B. über einen Web-Browser).
  • Mit Bezug auf 3 nunmehr ist ein Satz funktionaler Abstraktionsschichten dargestellt, die von der Cloud-Datenverarbeitungsumgebung 50 (2) bereitgestellt werden. Es versteht sich von vornherein, dass die in 3 dargestellten Komponenten, Schichten und Funktionen nur veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Die Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Beispiele für Hardware-Komponenten sind: Großrechner, Server auf der Grundlage der RISC-Architektur (RISC = Reduced Instruction Set Computer, Computer mit reduziertem Befehlssatz), Speichereinheiten, Netzwerke und Netzwerkkomponenten. Bei einigen Ausführungsformen beinhalten die Software-Komponenten Netzwerkanwendungs-Software.
  • Die Virtualisierungsschicht 62 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server, virtuelle Speicher, virtuelle Netzwerke, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme und virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 64 die nachfolgend beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung ermöglicht eine dynamische Bereitstellung von Datenverarbeitungsressourcen und anderen Ressourcen, die verwendet werden, um Aufgaben in der Cloud-Datenverarbeitungsumgebung durchzuführen, Messen und Preisermittlung stellen eine Kostenerfassung (wenn Ressourcen in der Cloud-Datenverarbeitungsumgebung verwendet werden) sowie eine Rechnungsstellung oder Fakturierung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungs-Software aufweisen. Die Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Verbraucher und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt einen Zugang zur Cloud-Datenverarbeitungsumgebung für Verbraucher und Systemadministratoren bereit. Eine Dienstgüteverwaltung stellt eine Zuordnung und Verwaltung der Cloud-Datenverarbeitungsressourcen bereit, sodass die erforderliche Dienstgüte erfüllt wird. Die Planung und Erfüllung der Dienstgütevereinbarung (Service Level Agreement, SLA) stellt eine Vorabeinteilung und Bereitstellung von Cloud-Datenverarbeitungsressourcen bereit, deren künftiger Bedarf auf der Grundlage einer Dienstgütevereinbarung vorausberechnet wird.
  • Die Arbeitslastschicht 66 stellt Beispiele für Funktionalitäten bereit, für die die Cloud-Datenverarbeitungsumgebung genutzt werden kann. Zu Beispielen von Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, zählen: Abbildung und Navigation; Software-Entwicklung und Lebenszyklusverwaltung; Lieferung von Bildung aus dem virtuellen Klassenzimmer; Datenanalyseverarbeitung; Transaktionsverarbeitung; die Funktionalitäten gemäß der vorliegenden Erfindung (siehe Funktionsblock 66a) werden nachstehend in den Unterabschnitten dieses Abschnitts „Ausführliche Beschreibung” detailliert dargelegt.
  • II. BEISPIELHAFTE AUSFÜHRUNGSFORM
  • 4 zeigt einen Ablaufplan 250, der ein Verfahren gemäß der vorliegenden Erfindung darstellt. 5 zeigt das Programm 300 zum Ausführen mindestens einiger der Verfahrensschritte von Ablaufplan 250. In den folgenden Absätzen werden dieses Verfahren und die dazugehörige Software mit ausführlichem Bezug auf 4 (für die Blöcke der Verfahrensschritte) und 5 (für die Software-Blöcke) beschrieben. Ein physischer Ort, an dem Programm 300 von 5 gespeichert werden kann, ist Speicherblock 60a (siehe 3).
  • Die Verarbeitung beginnt in Schritt S255, bei dem das VM-Bereitstellungsmodul („Mod”) 302 ein versiegeltes VM-Abbild (nicht gesondert dargestellt) mit einer Software-Anwendung (nicht in den Figuren dargestellt) bereitstellt. Bei diesem Beispiel wird die Software-Anwendung als „Tabellenkalkulationsprogramm” (Spreadsheet Program) oder einfacher „SS Prog” bezeichnet. Das versiegelte VM-Abbild mit dem darin enthaltenen SS Prog wird bereitgestellt, um auf dem Computersystem 12 (siehe 1) als eine VM-Einheit (nicht gesondert dargestellt) ausgeführt zu werden. Bei diesem Beispiel enthält das Tabellenkalkulationsprogramm in seinem Code (der Teil der ausgeführten VM-Einheit ist) einige Software-Asset-Management-Daten wie z. B. herkömmliche SAM-Signaturen. Bei dieser Ausführungsform werden diese herkömmlichen SAM-Daten jedoch nicht verwendet, da das Asset-Management damit nicht so zuverlässig ist wie das Asset-Management, das von dem hier vorgestellten Verfahren bereitgestellt wird. Die möglichen Probleme bei der Nutzung von herkömmlichen SAM-Daten im Kontext einer VM-Einheit werden nachstehend im ersten Absatz des Unterabschnitts „Weitere Anmerkungen und/oder Ausführungsformen” des Abschnitts „Ausführliche Beschreibung” genauer dargelegt.
  • Die Verarbeitung geht in Schritt S260 weiter, wo das Sammel-Deskriptormodul 304 alle VM-Deskriptoren sammelt, die im Code der in Schritt S255 bereitgestellten neu ausgeführten VM-Einheit enthalten sind. Wie vorstehend erwähnt, handelt es sich bei dem derzeit gängigen Typ von VM-Deskriptorcode um OVF-Deskriptorcodes. Zur Vereinfachung der Erklärung weisen die beispielhaften Deskriptorcodes bei dem Beispiel des Verfahrens von 4 jedoch kein OVF-Format auf. Es ist wichtig festzuhalten, dass der in Schritt S260 gesammelte Deskriptorcode ein „VM-Deskriptorcode” ist, da er gestaltet und/oder entwickelt wurde, um einem versiegelten VM-Abbild in seiner Gesamtheit und/oder einer laufenden VM-Einheit in ihrer Gesamtheit zu entsprechen, die von einem versiegelten VM-Abbild bereitgestellt wird. Ein „VM-Deskriptorcode” darf nicht mit verschiedenen SAM-Daten verwechselt werden, die sich nur auf eine Anwendung beziehen, die als Teil eines versiegelten VM-Abbildes enthalten ist. Bei diesem Beispiel gibt es nur einen VM-Deskriptorcode für die in Schritt S255 bereitgestellte VM-Einheit, bei dem es sich speziell um den VM-Deskriptorcode „ABF” handelt. Bei dieser Ausführungsform wird der VM-Deskriptorsatz (nur „ABF”) über das Netzwerk 50 (siehe 2) gesammelt, sodass der physische Computer, auf dem die VM-Einheit bereitgestellt wird, ein anderer physischer Computer ist als der physische Computer, auf dem Programm 300 ausgeführt wird. Alternativ können sich die VM-Einheit und das Programm zum Überprüfen der Übereinstimmung der VM-Deskriptorsätze auf demselben physischen Computer befinden.
  • Die Verarbeitung geht bei Schritt S262 weiter, wo das Übereinstimmungsmodul 306 ermittelt, ob der Satz der in Schritt S260 gesammelten Deskriptorcodes mit Reihen einer VM-Deskriptor/Software-Abbildungstabelle übereinstimmt. Bei diesem Beispiel lautet die VM-Deskriptor/Software-Abbildungstabelle, die im Übereinstimmungsmodul 306 gespeichert ist, wie folgt:
    VM-Deskr 1 VM-Deskr 2 S/W App 1 S/W App 2
    ABC N16 SS Prog WP Prog
    ABE M23 WP Prog null
    ZEF null Game A Prog null
    N6H QR7 Game A Prog Game B Prog
    ZZZ null Tax Prog null
  • Bei dieser Ausführungsform sind die Software-Anwendungen mit Namen gekennzeichnet. Alternativ können die Software-Anwendungen für einen gegebenen VM-Deskriptorsatz einer Software-Signatur entsprechen (beispielsweise einer zuvor festgelegten SAM-Software-Signatur, die üblicherweise mit einer herkömmlichen SAM-Agenten-Saftware verwendet wird). Wie aus der vorstehenden Tabelle hervorgeht, stimmt Code „ABF” (ohne zweiten VM-Deskriptorcode) nicht mit dem Teil des VM-Deskriptorcodesatzes der Reihen der VM-Deskriptor/Software-Abbildungstabelle überein. Da keine Übereinstimmung besteht, wird die Verarbeitung In diesem Beispiel bei Schritt S270 fortgesetzt (wie nachstehend beschrieben).
  • Angenommen, es hätte eine Übereinstimmung zwischen dem in Schritt S260 gesammelten VM-Deskriptorsatz und einer der Reihen der Tabelle gegeben. Hätte es eine Übereinstimmung gegeben, würden in der dritten und vierten Spalte der Tabelle die Bezeichnung(en) der Software-Anwendungen stehen, die in der in Schritt S255 bereitgestellten VM-Einheit enthalten sind. In diesem Fall würde die Verarbeitung von Schritt S262 zu Schritt S265 weitergehen, wo das Asset-Management-Modul 308 eine oder mehrere auf das Asset-Management bezogene Aktivitäten durchführen würde (beispielsweise Vorbereiten einer Lizenzzahlung auf der Grundlage des Tabellenkalkulationsprogramms der neu bereitgestellten VM-Einheit).
  • Wie vorstehend erwähnt, geht die Verarbeitung bei diesem Beispiel aufgrund einer nicht vorhandenen Übereinstimmung des VM-Deskriptorsatzes in der VM-Deskriptor/Software-Abbildungstabelle von Schritt S262 zu Schritt S270, wo das Software-Tabellenbeibehaltungsmodul 310 ermittelt, ob die VM-Deskriptor/Software-Abbildungstabelle aktualisiert werden sollte, um eine neue Reihe für den neuen VM-Deskriptorsatz aufzunehmen. Bei diesem Beispiel wird Computer 12 (siehe 1), der Host der neu bereitgestellten virtuellen Einheit, automatisch von Modul 310 abgefragt, um die Software-Anwendungen zu ermitteln, die in der neu bereitgestellten VM-Einheit enthalten sind. Alternativ kann die Bezeichnung der Software-Anwendungen der neu bereitgestellten VM-Einheit auf andere Weise ermittelt werden, beispielsweise indem die Ermittlung von einer Person durchgeführt wird. Bei einigen Ausführungsformen können die SAM-Daten des Tabellenkalkulationsprogramms, das in der neu bereitgestellten VM-Einheit ausgeführt wird, bei dieser Ermittlung der Software-Anwendung verwendet werden.
  • Bei diesem Beispiel wird festgestellt, dass die Software in der neu bereitgestellten VM-Einheit auf eine einzige Anwendung beschränkt ist, die wie vorstehend bei der Beschreibung von Schritt S255 erwähnt als Tabellenkalkulationsprogramm bezeichnet wird. Wie sich herausstellt, hat eine neu bereitgestellte virtuelle Einheit bereits zum zehnten Mal (nur) einen VM-Deskriptorsatz „ABF” zurückgesendet, und jedes Mal wurde die Software der VM-Einheit als (nur) „Tabellenkalkulationsprogramm” identifiziert. Wenn in diesem Beispiel ein VM-Deskriptorsatz, der in der VM-Deskriptor/Software-Abbildungstabelle fehlt, zehn Mal erkannt wird, und der VM-Deskriptorsatz jedes Mal demselben Satz von Software-Anwendungen zugeordnet wird (das heißt, eine Zählervariable erreicht einen Schwellenwert von 10), fügt das Modul 310 eine Reihe in der VM-Deskriptor/Software-Abbildungstabelle hinzu. Für den Schwellenwert könnten andere Werte verwendet werden, und bei einigen Ausführungsformen kann dieser Schwellenwert auf nur eins (1) festgelegt werden, das heißt, dass der Katalog jedes Mal geändert wird, wenn ein neuer Satz von VM-Deskriptorcodes erkannt wird. Im nächsten Unterabschnitt des Abschnitts „Ausführliche Beschreibung” wird die Art und Weise erläutert, wie sich einige Ausführungsformen der vorliegenden Erfindung auf Katalogaktualisierungen auswirken, indem nicht übereinstimmende Einträge in einen „Rohbestand” aufgenommen werden.
  • Bei diesem Beispiel, bei dem der VM-Deskriptorsatz „ABF” gerade zum zehnten Mal aufgetreten ist, wird daher wie folgt eine Reihe in die VM-Deskriptor/Software-Abbildungstabelle von Modul 308 hinzugefügt:
    VM-Deskr 1 VM-Deskr 2 S/W App 1 S/W App 2
    ABC N16 SS Prog WP Prog
    ABE M23 WP Prog null
    ABE null SS Prog null
    ZEF null Game A Prog null
    N6H QR7 Game A Prog Game B Prog
    ZZZ null Tax Prog null
  • III. WEITERE ANMERKUNGEN UND/ODER AUSFÜHRUNGSFORMEN
  • Bei einigen Ausführungsformen der vorliegenden Erfindung wird der Tatsache Rechnung getragen, dass es aus den nachstehend aufgeführten Gründen schwierig ist, Lizenzen für Software zu verwalten, die als versiegelte VM-Abbilder geliefert und als virtuelle Einheiten installiert werden: (i) eine virtuelle Einheit kann auf Systemen, die von einem SAM-Agenten (SAM = Software-Asset-Management) verwaltet werden, unter Umständen nicht implementiert werden, da diese Bilder üblicherweise für die Installation zusätzlicher Software gesperrt sind; (ii) es kann mehrere VMs geben, die in einem einzelnen VM-Abbild betrieben werden; und/oder (iii) die Anzahl der VMs, die in einer VM-Umgebung betrieben werden, kann sich ständig ändern, da Server laufend gelöscht und/oder neue Server hinzugefügt werden.
  • Einige Ausführungsformen der vorliegenden Erfindung können eine oder mehrere der folgenden Merkmale, Eigenschaften und/oder Vorteile enthalten: (i) die Verwendung von VM-Deskriptoren und/oder Mustern beim Durchführen von auf das Asset-Management bezogenen Funktionen im Zusammenhang mit Software-Anwendungen, die in einem versiegelten VM-Paket enthalten sind und/oder als Teil einer virtuellen VM-Einheit (siehe nachstehende Definition von „auf das Asset-Management bezogen” im Unterabschnitt „Definitionen” im Abschnitt „Ausführliche Beschreibung”) ausgeführt werden; (ii) die Verwendung von VM-Deskriptoren mit offenem virtuellen Format (OVF) und/oder Mustern beim Durchführen von auf das Asset-Management bezogenen Funktionen im Zusammenhang mit Software-Anwendungen, die in einem versiegelten VM-Paket enthalten sind und/oder als Teil einer virtuellen VM-Einheit ausgeführt werden; (iii) die Verwendung von VM-Deskriptoren als Software-Signaturen und/oder die Abbildung von VM-Deskriptoren auf zuvor bestehende Software-Signaturen (z. B. zuvor bestehende SAM-Software-Signaturen); und/oder (iv) die Verwendung von Rohdaten zum Übernehmen von Signaturen (z. B. SAM-Signaturen von Software-Anwendungen in einem versiegelten VM-Abbild), wobei weder ein VM-Abbild noch eine Ausstattung mit VM-Einheiten verwendet wird. Durch diesen Ansatz zur Verwendung von VM-Deskriptoren für das Software-Asset-Management ist eine wirksame Verwaltung der Software-Erkennung und Lizenzierung von Software-Einheiten auf VM-Grundlage möglich.
  • In den folgenden Absätzen wird nunmehr eine Ausführungsform eines Verfahrens zum Durchführen eines Software-Asset-Managements auf der Grundlage von VM-Deskriptoren beschrieben.
  • OPERATION A: Ein SAM-Werkzeug nach dieser besonderen Ausführungsform der vorliegenden Erfindung sammelt von einem VM-Managerprogramm VM-Deskriptoren für alle bereitgestellten virtuellen Einheiten. Ein VM-Deskriptorsatz (insbesondere OVF-Deskriptoren), der gespeicherte Informationen über Anbieter, Produkt und Version für eine der virtuellen Einheiten wiedergibt, die in einem vernetzten Computersystem (hier zuweilen als „Umgebung” bezeichnet) ausgeführt werden, kann wie folgt aussehen:
    Figure DE102016103713A1_0002
  • Dies ist Teil der VM-Deskriptorinformationen, auf die der VM-Manager über ein SAM-Werkzeug zugreift. Wie zuvor erwähnt, stellt OVF viele andere Deskriptoren bereit (in Bereiche wie Platten, Netzwerk, Ressource, Produkt, rechtliche Bestimmungen des Endbenutzer-Lizenzvertrags usw. unterteilt), die gemäß verschiedener Ausführungsformen der vorliegenden Erfindung für Asset-Management-Zwecke nützlich sein können.
  • OPERATION B: Nach dem Sammelvorgang von Operation A werden die gesammelten Deskriptoren mit einem neuen Software-Signaturtyp verglichen. Die Signatur ist als eine Liste mit Deskriptor(en) und Muster(n) definiert, die übereinstimmen müssen (z. B. Anbieter, Produkt, Versionsfelder mit gegebenen genauen Werten oder einem regulären Ausdruck (z. B. 5.5|5.5.*)). In diesem Beispiel werden die Listenelemente wie folgt zu logischen Ausdrücken zusammengefasst:
    Figure DE102016103713A1_0003
    Figure DE102016103713A1_0004
  • OPERATION C: Wenn die Signatur übereinstimmt, meldet das SAM-Werkzeug erkannte Software und VM-Maschinenkennung (in diesem Fall die Netzwerkadresse).
  • OPERATION D: Wenn die Signatur nicht übereinstimmt, wird gemeldet, dass es sich bei den nicht Obereinstimmenden Deskriptoren (hier zuweilen als „nichtübereinstimmende Deskriptoren” bezeichnet) um Rohbestandsdaten wie ProductSection, EulaSection usw. handelt. In dieser Ausführungsform werden diese Informationen an das SAM-Werkzeug gesendet. Alternativ kann das SAM-Werkzeug selbst erweitert werden, um „Rohbestandsdaten” im Fall von VM-Deskriptor-zu-SAM-Software-Signatur-Übereinstimmung und nichtübereinstimmende VM-Deskriptoren zu verarbeiten.
  • OPERATION E: Identische Einträge von mehreren Benutzern in der Umgebung werden zusammengefasst und einem SAM-Verwalter vorgelegt (bei dieser Ausführungsform ist der SAM-Verwalter eine Person). Der SAM-Verwalter genehmigt auf der Grundlage der Anzahl identischer Einträge aus der Sammlung in der gesamten Umgebung Anbieter, Software und Version, die in den identischen, nichtübereinstimmenden Einträgen identifiziert werden, welche von den Rohbestandsdeskriptoren in Operation D bereitgestellt werden. Bei dieser Ausführungsform verwendet der menschliche SAM-Verwalter sein fachmännisches Urteil und/oder eine unabhängige Untersuchung, um zu ermitteln, wie viele identische, nichtübereinstimmende Einträge im „Rohbestand” sein müssen, bevor der Software-Katalog aktualisiert wird.
  • OPERATION F: Sobald der menschliche SAM-Verwalter die Genehmigung erteilt hat, werden die gesammelten Rohbestandsdaten verwendet, um automatisch eine Software-Erkennungssignatur zu erzeugen, die für die Verwendung mit SAM geeignet ist. Ein Beispiel dieser automatischen Erzeugung einer Software-Signatur sieht wie folgt aus:
    Figure DE102016103713A1_0005
  • Bei dieser Ausführungsform der vorliegenden Erfindung wird Maschinenlogik verwendet, um die VM-Deskriptordaten wie folgt in Zeichenfolgedaten der SAM-Software-Signatur umzuwandeln:
    ERP Software Vendor; My ERP Solution; 5.5 → VM1, VM2
    ERP Software Vendor; My ERP Solution; 5.6 → VM3
  • Bei dieser Ausführungsform muss der menschliche SAM-Verwalter die Zeichenfolgedaten der SAM-Software-Signatur genehmigen, bevor diese zu dem Katalog hinzugefügt wird. Bei dieser Ausführungsform kann der menschliche SAM-Verwalter die SAM-Daten, die ursprünglich automatisch von der Maschinenlogik erzeugt wurden, auch ändern. Auf diese Weise wird in der hier beschriebenen Ausführungsform automatisch ein ISV-Software-Katalog erzeugt und/oder beibehalten, der für die Benutzerumgebung gut geeignet ist.
  • Einige Ausführungsformen der vorliegenden Erfindung können wie folgt eine oder mehrere Verbesserungen für die Verarbeitung des VM-Managers enthalten: (i) Überspringen/Ignorieren von Maschinen mit implementiertem und in Ausführung befindlichem SAM-Agenten (z. B. die bereitgestellte Maschine verfügt standardmäßig über einen SAM-Agenten); und/oder (ii) Vorschlagen der Installation eines SAM-Lösungsagenten, wenn die VM nicht erkannt wurde oder die Rohbestandsdaten keine ausreichende Detailgenauigkeit bereitstellen (Tiefenerkennung aller Unterkomponenten und Merkmale, die z. B. für eine erweiterte Patch-/Lizenzverwaltung benötigt werden).
  • IV. DEFINITIONEN
  • Vorliegende Erfindung: Nicht in dem unbedingten Sinn zu verstehen, dass der von dem Begriff „vorliegende Erfindung” beschriebene Gegenstand von den Ansprüchen laut Anmeldung oder von den Ansprüchen, die letztlich nach der Patentverfolgung herausgegeben werden, abgedeckt wird; während der Begriff „vorliegende Erfindung” verwendet wird, um dem Leser ein allgemeines Verständnis zu vermitteln, welche Offenbarungen hier als potenziell neu angesehen werden, ist diese Erkenntnis, wie durch die Verwendung des Begriffs „vorliegende Erfindung” angedeutet, vorläufig und kann im Laufe der Patentverfolgung geändert werden, wenn entsprechende Informationen ausgearbeitet und die Ansprüche eventuell geändert werden.
  • Ausführungsform: Siehe vorstehende Definition von „vorliegender Erfindung” – ähnliche Vorsichtshinweise gelten für den Begriff „Ausführungsform”.
  • Und/oder: einschließlich oder; zum Beispiel A, B „und/oder” C bedeutet, dass mindestens A, B oder C wahr und anwendbar ist.
  • Modul/Untermodul: Beliebiger Satz von Hardware, Firmware und/oder Software, der funktionsmäßig arbeitet, um eine Funktion durchzuführen, unabhängig davon, ob das Modul: (i) sich in einer räumlichen Nähe befindet, (ii) über einen großen Bereich verteilt ist; (iii) sich in der Nähe innerhalb eines größeren Teils von Software-Code befindet; (iv) sich in einem einzelnen Teil von Software-Code befindet; (v) sich in einer einzelnen Speichereinheit, einem einzelnen Speicher oder Speichermedium befindet; (vi) mechanisch verbunden ist; (vii) elektrisch verbunden ist; und/oder (viii) über eine Datenübertragung verbunden ist.
  • Computer: Einheit mit umfangreichen Fähigkeiten zur Datenverarbeitung und/oder zum Lesen von maschinenlesbaren Anweisungen, die Folgendes beinhaltet, ohne darauf beschränkt zu sein: Desktop-Computer, Großrechner, Laptop-Computer, Einheiten auf der Grundlage von vor Ort programmierbaren Gatteranordnungen (FPGA), Smartphones, persönliche digitale Assistenten (PDAs), fest eingebaute oder einsteckbare Computer, integrierte einheitenartige Computer, Einheiten auf der Grundlage einer anwendungsspezifischen integrierten Schaltung (ASIC).
  • Asset-Management (oder auf das Asset-Management bezogen):
    Beinhaltet, ohne notwendigerweise darauf beschränkt zu sein: Verwalten und Optimieren einer gekauften Software (d. h. Lizenz oder Kauf); Durchführen zahlungsbezogener Aktivitäten im Zusammenhang mit der Lizenz oder dem Kauf (z. B. Bestimmen eines Betrags von Lizenzzahlungen, die an verschiedene Lizenzgeber fällig sind); Implementieren; Warten; Verwenden und Beseitigen; Entwerfen von Infrastrukturen und Prozessen, die für eine wirksame Verwaltung, Kontrolle und wirksamen Schutz der Software-Assets notwendig sind; Verringern der Kosten für die Informationstechnologie (IT); Begrenzen des geschäftlichen und rechtlichen Risikos im Zusammenhang mit dem Besitz und der Verwendung der Software; und/oder Maximieren der Reaktionsfähigkeit der IT (Informationstechnologie) und der Endbenutzerproduktivität.

Claims (13)

  1. Verfahren, das aufweist: Sammeln eines Satzes eines oder mehrerer Deskriptorsätze einer virtuellen Maschine (VM), wobei jeder VM-Deskriptorsatz einen oder mehrere VM-Deskriptoren beinhaltet und einem von Folgendem entspricht: einer VM-Einheit oder einem versiegelten VM-Abbild; Ermitteln für jeden VM-Deskriptorsatz, ob eine Übereinstimmung mit einem Eintrag in einem VM-Deskriptorsatz/Datensatz einer Software-Anwendungsabbildung besteht; und sofern eine Übereinstimmung besteht, Ermitteln für jeden VM-Deskriptorsatz einer Kennung eines Satzes von Software-Anwendungen in der VM-Einheit oder dem versiegelten VM-Abbild, der dem VM-Deskriptorsatz entspricht, auf der Grundlage eines entsprechenden übereinstimmenden Eintrags im VM-Deskriptorsatz/Datensatz der Software-Anwendungsabbildung.
  2. Verfahren nach Anspruch 1, bei dem die VM-Deskriptoren der VM-Deskriptorsätze VM-Deskriptoren vom Typ offenes Virtualisierungsformat (OVM) sind.
  3. Verfahren nach Anspruch 1, bei dem der VM-Deskriptorsatz/der Datensatz der Software-Anwendungsabbildung Software-Signaturen des Software-Asset-Managements (SAM) verwendet, um Software-Anwendungen zu identifizieren.
  4. Verfahren nach Anspruch 1, das weiterhin aufweist: Durchführen einer ersten auf das Asset-Management bezogenen Aktivität, die mindestens zum Teil auf Kennungen der Software-Anwendungen in der VM-Einheit und/oder dem versiegelten VM-Abbild beruhen.
  5. Verfahren nach Anspruch 5, bei dem die erste auf das Asset-Management bezogene Aktivität eine Berechnung der Zahlung einer Lizenzgebühr für die Verwendung der identifizierten Software-Anwendungen) ist.
  6. Verfahren nach Anspruch 1, das weiterhin aufweist: sofern keine Übereinstimmung besteht, für jeden VM-Deskriptorsatz des Satzes von VM-Deskriptorsätzen Sammeln des nicht übereinstimmenden VM-Deskriptorsatzes als Rohbestand zum Ändern des VM-Deskriptorsatzes/des Datensatzes der Software-Anwendungsabbildung.
  7. Computerprogrammprodukt, das ein computerlesbares Speichermedium aufweist, auf dem gespeichert sind: erste Programmanweisungen, die so programmiert sind, dass sie einen Satz von Deskriptorsätzen einer virtuellen Maschine (VM) sammeln, wobei jeder VM-Deskriptorsatz einen oder mehrere VM-Deskriptoren beinhaltet und einem von Folgendem entspricht: einer VM-Einheit oder einem versiegelten VM-Abbild; zweite Programmanweisungen, die so programmiert sind, dass sie für jeden VM-Deskriptorsatz ermitteln, ob eine Übereinstimmung mit einem Eintrag in einem VM-Deskriptorsatz/einem Datensatz einer Software-Anwendungsabbildung besteht; und dritte Programmanweisungen, die so programmiert sind, dass sie bei einer Übereinstimmung für jeden VM-Deskriptorsatz eine Kennung eines Satzes von Software-Anwendungen in der VM-Einheit oder dem versiegelten VM-Abbild ermitteln, der dem VM-Deskriptorsatz entspricht, auf der Grundlage eines entsprechenden übereinstimmenden Eintrags im VM-Deskriptorsatz/im Datensatz der Software-Anwendungsabbildung.
  8. Computersystem, das aufweist: einen Prozessorsatz; und ein computerlesbares Speichermedium; wobei: der Prozessorsatz strukturiert, platziert, verbunden und/oder so programmiert ist, dass er Programmanweisungen auszuführt, die in dem computerlesbaren Speichermedium gespeichert sind; und die Programmanweisungen enthalten: erste Programmanweisungen, die so programmiert sind, dass sie einen Satz von einem oder mehreren Deskriptorsätzen einer virtuellen Maschine (VM) sammeln, wobei jeder VM-Deskriptorsatz einen oder mehrere VM-Deskriptoren beinhaltet und einem von Folgendem entspricht: einer VM-Einheit oder einem versiegelten VM-Abbild; zweite Programmanweisungen, die so programmiert sind, dass sie für jeden VM-Deskriptorsatz ermitteln, ob eine Übereinstimmung mit einem Eintrag in einem VM-Deskriptorsatz/einem Datensatz einer Software-Anwendungsabbildung besteht; und dritte Programmanweisungen, die so programmiert sind, dass sie bei Übereinstimmung für jeden VM-Deskriptorsatz eine Kennung eines Satzes von Software-Anwendungen) in der VM-Einheit oder dem versiegelten VM-Abbild ermitteln, der dem VM-Deskriptorsatz entspricht, auf der Grundlage eines entsprechenden übereinstimmenden Eintrags im VM-Deskriptorsatz/im Datensatz der Software-Anwendungsabbildung.
  9. System nach Anspruch 8, bei dem die VM-Deskriptoren der VM-Deskriptorsätze VM-Deskriptoren vom Typ offenes Virtualisierungsformat (OVM) sind.
  10. System nach Anspruch 8, bei dem der VM-Deskriptorsatz/der Datensatz der Software-Anwendungsabbildung Software-Signaturen des Software-Asset-Managements (SAM) verwendet, um Software-Anwendungen zu identifizieren.
  11. System nach Anspruch 8, wobei auf dem Medium weiterhin gespeichert sind: vierte Programmanweisungen, die so programmiert sind, dass sie eine erste auf das Asset-Management bezogenen Aktivität durchführen, die mindestens zum Teil auf Kennungen der Software-Anwendungen) in der VM-Einheit und/oder dem versiegelten VM-Abbild beruhen.
  12. System nach Anspruch 11, bei dem die erste auf das Asset-Management bezogene Aktivität eine Berechnung der Zahlung einer Lizenzgebühr für die Verwendung der identifizierten Software-Anwendung(en) ist.
  13. System nach Anspruch 8, wobei auf dem Medium weiterhin gespeichert sind: sofern keine Übereinstimmung besteht, für jeden VM-Deskriptorsatz des Satzes eines oder mehrerer VM-Deskriptorsätzen fünfte Programmanweisungen, die so programmiert sind, dass sie den nichtübereinstimmenden VM-Deskriptorsatz als Rohbestand zum Ändern des VM-Deskriptorsatzes/des Datensatzes der Software-Anwendungsabbildung sammeln.
DE102016103713.3A 2015-03-04 2016-03-02 Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs Pending DE102016103713A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/637,433 US9792140B2 (en) 2015-03-04 2015-03-04 Maintenance of a software discovery catalog in a virtual machine environment
US14/637,433 2015-03-04

Publications (1)

Publication Number Publication Date
DE102016103713A1 true DE102016103713A1 (de) 2016-09-08

Family

ID=56738954

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016103713.3A Pending DE102016103713A1 (de) 2015-03-04 2016-03-02 Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs

Country Status (3)

Country Link
US (1) US9792140B2 (de)
CN (1) CN105938525B (de)
DE (1) DE102016103713A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3842946A1 (de) * 2019-12-23 2021-06-30 Hexagon Technology Center GmbH Verfahren und system zur automatischen identifizierung und zusammenfassung von fähigkeiten
US11323447B2 (en) 2019-07-09 2022-05-03 Hexagon Technology Center Gmbh Digital data access control and automated synthesization of capabilities

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910652B2 (en) * 2015-11-30 2018-03-06 International Business Machines Corporation Deploying applications
US10223074B2 (en) * 2015-12-11 2019-03-05 International Business Machines Corporation Determining the identity of software in software containers
US11055403B2 (en) * 2017-01-06 2021-07-06 International Business Machines Corporation Method, system, and computer program product for application identification in a cloud platform
CN114827241A (zh) * 2017-09-22 2022-07-29 华为技术有限公司 一种跨平台部署的方法和系统
CN112148935A (zh) * 2019-06-26 2020-12-29 腾讯美国有限责任公司 用于多实例的nbmp功能执行的方法和装置
US11163557B2 (en) * 2019-11-08 2021-11-02 International Business Machines Corporation Automated techniques for detecting the usage of software applications in a computing environment using configuration objects

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
WO2009111799A2 (en) * 2008-03-07 2009-09-11 3Tera, Inc. Globally distributed utility computing cloud
US8321948B2 (en) 2008-03-28 2012-11-27 Sap Ag Flexible appliance hosting with coordination of deployment, licensing and configuration
US8543998B2 (en) 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US8850607B2 (en) 2009-09-22 2014-09-30 Flexera Software Llc System and method for capacity licensing
WO2011069784A1 (en) * 2009-12-11 2011-06-16 International Business Machines Corporation System and method of managing software content in virtual desktop environments
WO2012054016A1 (en) 2010-10-19 2012-04-26 Hewlett-Packard Development Company, L.P. Methods and systems for generation of authorized virtual appliances
US8910157B2 (en) * 2010-11-23 2014-12-09 International Business Machines Corporation Optimization of virtual appliance deployment
US9400669B2 (en) * 2013-01-16 2016-07-26 International Business Machines Corporation Virtual appliance chaining and management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323447B2 (en) 2019-07-09 2022-05-03 Hexagon Technology Center Gmbh Digital data access control and automated synthesization of capabilities
US11706223B2 (en) 2019-07-09 2023-07-18 Hexagon Technology Center Gmbh Digital data access control and automated synthesization of capabilities
EP3842946A1 (de) * 2019-12-23 2021-06-30 Hexagon Technology Center GmbH Verfahren und system zur automatischen identifizierung und zusammenfassung von fähigkeiten

Also Published As

Publication number Publication date
CN105938525B (zh) 2019-04-09
US9792140B2 (en) 2017-10-17
US20160259658A1 (en) 2016-09-08
CN105938525A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
DE112016003355B4 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112012003316B4 (de) Dynamisches Erwerben von Datenverarbeitungsressourcen in einer vernetzten Datenverarbeitungsumgebung
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE112012002941T5 (de) Anwendungsressourcenverwalter über eine Cloud
DE112019004390T5 (de) Sichere mehrparteienerfassung von sensiblen daten unter verwendung von private set intersection (psi)
DE112019001433T5 (de) Datenanonymisierung
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE112010004160T5 (de) Portieren virtueller Abbilder zwischen Plattformen
DE102013216735A1 (de) Ressourcenzuweisung in einer virtualisierten Datenverarbeitungsumgebung
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE102012215219A1 (de) Ermitteln von Verteilungen von Abbildmustern von virtuellen Maschinen in einer vernetzten Datenverarbeitungsumgebung
DE112020000912T5 (de) Verwalten von software-programmen
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE102021123135A1 (de) Leistungs- und upgrade-verwaltung für anlagegüter mit hilfe von digitalen zwillingen
DE112021001766T5 (de) Inhaltskontrolle durch datenaggregationsdienste dritter
DE102013206354A1 (de) Adaptive Bewertung der Objektrelevanz auf der Grundlage dynamischer Benutzereigenschaften
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112019003130T5 (de) Hsm-selbstzerstörung in einer hybriden cloud-kms-lösung
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE112020004967T5 (de) Änderungsverwaltung und analytik für microservices
DE112022002615T5 (de) Kontinuierliche funktionsfähigkeit und integrität von anwendungen während eines migrationsvorgangs
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten

Legal Events

Date Code Title Description
R012 Request for examination validly filed