DE112020004619T5 - Erkennung einer virtuellen maschinenmigration durch ein gehostetesbetriebssystem - Google Patents

Erkennung einer virtuellen maschinenmigration durch ein gehostetesbetriebssystem Download PDF

Info

Publication number
DE112020004619T5
DE112020004619T5 DE112020004619.2T DE112020004619T DE112020004619T5 DE 112020004619 T5 DE112020004619 T5 DE 112020004619T5 DE 112020004619 T DE112020004619 T DE 112020004619T DE 112020004619 T5 DE112020004619 T5 DE 112020004619T5
Authority
DE
Germany
Prior art keywords
operating system
computer
guest operating
hid
response
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
DE112020004619.2T
Other languages
English (en)
Inventor
Brian Frank Veale
Juan Casas Jr
Caleb Rusell Olson
Amanda Liem
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 DE112020004619T5 publication Critical patent/DE112020004619T5/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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

In einer Ausführungsform erkennt ein Gast-Betriebssystem (BS), das auf einer virtuellen Maschine (VM) ausgeführt wird, eine VM-Migration, wobei die Ausführungsform ein Speichern, durch das Gast-Betriebssystem, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein Host-Computersystem bereitgestellt wird, in einem Computer-Arbeitsspeicher aufweist. Die Ausführungsform weist außerdem, durch das Gast-Betriebssystem, ein Bestimmen auf, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind. Die Ausführungsform weist ferner, durch das Gast-Betriebssystem, ein Erkennen auf, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein ein Verfahren, ein System und ein Computerprogramm für eine virtuelle Maschinenmigration. Insbesondere betrifft die vorliegende Erfindung ein Verfahren, ein System und ein Computerprogrammprodukt für eine Erkennung einer virtuellen Maschinenmigration durch ein gehostetes Betriebssystem.
  • HINTERGRUND
  • Eine virtuelle Maschine (VM) ist ein durch Software definierter Computer und ein Gast-Betriebssystem, das auf einem Host-System ausgeführt wird, das sein eigenes Host-Betriebssystem betreibt. Im Allgemeinen stellt eine VM eine Umgebung zur Software-Ausführung bereit und kann einen virtuellen Prozessor, einen virtuellen System-Arbeitsspeicher, einen virtuellen Speicher und verschiedene virtuelle Einheiten haben. VMs stellen eine Form von System-Virtualisierung dar, die durch eine Verwaltungsfunktionalität umgesetzt wird, in der Regel durch Hypervisor-Technologie. Hypervisoren, die auch als virtuelle Maschinen-Manager (VMMs) bezeichnet werden, verwenden eine dünne Schicht von Code in Software oder Firmware, um eine feiner abgestimmte dynamische gemeinsame Nutzung von Ressourcen zu erzielen. Da Hypervisoren das Höchstmaß an Flexibilität in Bezug auf eine Definition und Verwaltung von virtuellen Ressourcen bereitstellen, sind sie im Allgemeinen die primäre Technologie für eine Systemvirtualisierung.
  • VMs können zwischen einer Quell-Host-Datenverarbeitungsplattform („dem Quell-Host“) und einer Ziel-Host-Datenverarbeitungsplattform („dem Ziel-Host“) migriert werden, die über ein Netzwerk verbunden sind, das ein lokales Netzwerk oder ein Weitverkehrsnetzwerk einschließlich des Internets sein kann. Eine Migration ermöglicht eine klare Trennung zwischen Hardware und Software, wodurch eine Fehlerverwaltung von Einrichtungen, ein Lastausgleich und eine Systemwartung auf unterster Ebene verbessert werden. Eine Live-Migration ermöglicht einem Administrator, eine laufende VM zwischen verschiedenen physischen Maschinen zu verschieben, ohne einen laufenden Client oder ein Anwendungsprogramm abzuschalten.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die veranschaulichenden Ausführungsformen sorgen für ein Erkennen einer VM-Migration durch ein Gast-Betriebssystem (BS), das auf der VM ausgeführt wird. Eine Ausführungsform umfasst ein Speichern, durch ein Gast-Betriebssystem, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird. Die Ausführungsform weist außerdem, durch das Gast-Betriebssystem, ein Bestimmen auf, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind. Die Ausführungsform weist ferner, durch das Gast-Betriebssystem, ein Erkennen auf, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde.
  • Eine Ausführungsform umfasst ein durch einen Computer verwendbares Programmprodukt. Das durch einen Computer verwendbare Programmprodukt enthält ein durch einen Computer lesbares Speichermedium und Programmanweisungen, die auf dem Speichermedium gespeichert sind.
  • Eine Ausführungsform umfasst ein Computersystem. Das Computersystem umfasst einen Prozessor, einen durch einen Computer lesbaren Arbeitsspeicher und ein durch einen Computer lesbares Speichermedium und Programmanweisungen, die auf dem Speichermedium zur Ausführung durch den Prozessor über den Arbeitsspeicher gespeichert sind.
  • Gemäß einem Aspekt wird ein durch einen Computer umgesetztes Verfahren bereitgestellt, das aufweist: Speichern, durch ein Gast-Betriebssystem (BS), das auf einer virtuellen Maschine (VM) ausgeführt wird, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein erstes Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird; Bestimmen, durch das Gast-Betriebssystem, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind; Erkennen, durch das Gast-Betriebssystem, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde, und Aktualisieren, durch das Gast-Betriebssystem, einer Konfigurationseinstellung des Gast-Betriebssystem in Reaktion auf ein Erkennen, dass die VM migriert worden ist.
  • Gemäß einem weiteren Aspekt wird ein Computerprogrammprodukt zum Erkennen einer VM-Migration bereitgestellt, wobei das Computerprogrammprodukt ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen aufweist, die gemeinsam auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen durch eine Controller-Schaltung ausführbar sind, um die Controller-Schaltung zu veranlassen, Operationen durchzuführen, die aufweisen: Speichern, durch ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein erstes Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird; Bestimmen, durch das Gast-Betriebssystem, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind; Erkennen, durch das Gast-Betriebssystem, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde; und Aktualisieren, durch das Gast-Betriebssystem, einer Konfigurationseinstellung des Gast-Betriebssystem in Reaktion auf ein Erkennen, dass die VM migriert worden ist.
  • Gemäß einem weiteren Aspekt wird ein Computersystem bereitgestellt, das einen Prozessor und ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen aufweist, die gemeinsam auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen durch den Prozessor ausführbar sind, um den Prozessor zu veranlassen, Operationen durchzuführen, die aufweisen: Speichern, durch ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein erstes Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird; Bestimmen, durch das Gast-Betriebssystem, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind; Erkennen, durch das Gast-Betriebssystem, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde, und Aktualisieren, durch das Gast-Betriebssystem, einer Konfigurationseinstellung des Gast-Betriebssystem in Reaktion auf ein Erkennen, dass die VM migriert worden ist.
  • Figurenliste
  • Die neuartigen Merkmale, die für die Erfindung als kennzeichnend erachtet werden, werden in den Ansprüchen im Anhang dargelegt.
  • Nachstehend werden bevorzugte Ausführungsformen der vorliegenden Erfindung allein zu Beispielzwecken und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 stellt ein Blockschaubild eines Netzwerks von Datenverarbeitungssystemen dar, in denen veranschaulichende Ausführungsformen umgesetzt werden können;
    • 2 stellt ein Blockschaubild eines Datenverarbeitungssystems dar, in dem veranschaulichende Ausführungsformen umgesetzt werden können;
    • 3 stellt ein Blockschaubild einer beispielhaften Konfiguration einer Umgebung eines Datenverarbeitungssystems zum Hosten von VMs und Unterstützen von Live-Migrationen gemäß einer veranschaulichenden Ausführungsform dar; und
    • 4 stellt einen Ablaufplan eines beispielhaften Prozesses für ein Erkennen einer VM-Migration durch ein Gast-Betriebssystem gemäß einer veranschaulichenden Ausführungsform dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Live-Migration ist eine Technologie, die ein Verschieben einer gesamten laufenden VM von einer physischen Maschine auf eine andere ermöglicht. Eine Live-VM-Migration auf der Ebene einer gesamten VM bedeutet, dass der aktive Arbeitsspeicher und der Ausführungszustand von der Quelle zu dem Ziel übertragen werden. Als Ergebnis dessen ermöglicht die VM-Migration, dass die VM ohne Unterbrechung der Arbeitslast in der VM auf eine andere physische Maschine verschoben werden kann. Eine Live-Migration von VMs und der Standby-Modus von physischen Servern werden automatisch durch eine Algorithmus-Engine orchestriert.
  • Die Unterstützung und das Framework, die für eine Live-VM-Migration erforderlich sind, können auf Grundlage eines Erkenntnisbereichs, den die VM für das Gast-Betriebssystem bereitstellt, immer in mehrere Modelle aufgegliedert werden, wenn eine VM-Migration auftritt oder aufgetreten ist. Diese Modelle wirken zusammen, dienen nur zur Benachrichtigung und sind transparent. In dem Zusammenarbeitsmodell stellt die VM dem Gast-Betriebssystem Benachrichtigungen über VM-Migrationsaktivitäten bereit und bestätigt, dass das Gast-Betriebssystem die Benachrichtigungen empfangen hat. In dem nur zur Benachrichtigung dienenden Modell stellt die VM dem Gast-Betriebssystem nur Benachrichtigungen über VM-Migrationsaktivitäten vor und/oder nach einem Auftreten einer VM-Migration bereit. In dem transparenten Modell benachrichtigt die VM das Gast-Betriebssystem nicht über auftretende VM-Migrationen, sondern versucht, Migrationen durchzuführen, die für das Gast-Betriebssystem transparent sind, wobei dem Gast-Betriebssystem also nicht bewusst ist, dass gerade eine Migration auftritt oder aufgetreten ist.
  • Die Virtualisierungstechnologie, die das Erstellen und die Nutzung von VMs ermöglicht, macht die Hardware von VMs unabhängig, was bedeutet, dass eine VM auf einer Vielfalt von Hardware-Konfigurationen ausgeführt werden kann. Allerdings hat die unabhängige Natur von VMs auch Grenzen. Abhängig von den Hardware-Konfigurationen an der Quelle und am Ziel einer Live-VM-Migration arbeitet das Gast-Betriebssystem, das auf der migrierenden VM ausgeführt wird, zum Beispiel ohne Konfigurationsanpassungen an Betriebssystemkomponenten nicht optimal. Das Gast-Betriebssystem kann die Konfigurationsanpassungen vornehmen, sobald es auf die Hardware-Änderung aufmerksam wird. Ein Problem entsteht jedoch dann, wenn das Gast-Betriebssystem die Hardware-Änderung nicht erkennt, wenn das Gast-Betriebssystem zum Beispiel auf einer VM ausgeführt wird, die so konfiguriert ist, dass sie für das Gast-Betriebssystem transparente Migrationen durchführt.
  • Die veranschaulichenden Ausführungsformen würdigen, dass ein Bedarf an einer verbesserten Hardware-Erkennung für ein Gast-Betriebssystem vorhanden ist, das auf einer VM ausgeführt wird, einschließlich Gast-Betriebssystemen, die Konfigurationsänderungen für bestimmte Komponenten wie beispielweise CPUs oder GPUs erfordern oder davon profitieren würden. Derzeitige Verfahren zum Konfigurieren eines Betriebssystems für bestimmte Hardware-Konfigurationen umfassen eine Einbindung von Benutzern, im Allgemeinen, wenn in dem Gast-Betriebssystem auftretende Fehler bemerkt oder behoben werden, was ineffizient und zeitaufwendig ist.
  • Die veranschaulichenden Ausführungsformen würdigen, dass die gegenwärtig verfügbaren Werkzeuge oder Lösungen nicht auf diese Anforderungen eingehen oder für diese Anforderungen angemessene Lösungen bereitstellen. Die veranschaulichenden Ausführungsformen gehen die oben beschriebenen Probleme und andere Probleme im Zusammenhang mit Fehlern, die in einem Gast-Betriebssystem aufgrund einer nicht erkannten oder nicht angekündigten VM-Migration auftreten, an und lösen sie. In einigen Ausführungsformen erkennt ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, eine VM-Migration für eine Vielfalt von VMs mit verschiedenen Migrations-Benachrichtigungsmodellen, einschließlich transparenten Modellen, in denen die VM konfiguriert ist, um von einem Host-Computersystem auf ein anderes migriert zu werden, ohne das Gast-Betriebssystem zu benachrichtigen. In einer Ausführungsform erkennt das Gast-Betriebssystem, dass die VM von einem Quell-Computersystem auf ein Ziel-Computersystem migriert wurde, indem eine Host-Kennung (HID) überwacht und erkannt wird, dass eine Änderung an der HID bedeutet, dass eine Änderung an der Hardware erfolgt ist, die die VM betreibt, und deshalb bedeutet, dass eine VM-Migration erfolgt ist.
  • Eine „Kennung“, wie hierin verwendet, bezieht sich auf alle Informationen, die einer Hardware oder Software eindeutig zugehörig sind und abhängig von der Ausführungsform einem spezifischen Teil von Hardware eindeutig zugeordnet werden können, wie zum Beispiel eine Seriennummer oder Lizenzinformationen, oder einem breiter gefassten Aspekt von Hardware oder Software eindeutig zugeordnet werden können, wobei entsprechende nicht einschränkende Beispiele Informationen umfassen, die einem Modell, einer Klasse, einem Typ, einer Version, einer Marke oder einer Hardware- oder Software-Revision eindeutig zugehörig sind. In einigen Ausführungsformen befasst sich eine Migrationserkennung durch das Gast-Betriebssystem vorwiegend mit bestimmten Änderungen an dem Host-Computersystem und/oder der VM, sodass eine VM-Migration auf ein anderes Host-Computersystem, das dieselbe betreffende Hardware aufweist, für das Gast-Betriebssystem nicht von Interesse ist und daher ignoriert wird.
  • Eine Ausführungsform kann als eine Software-Anwendung umgesetzt werden. Die Anwendung, die eine Ausführungsform umsetzt, kann als eine Modifizierung eines vorhandenen Systems, als eine separate Anwendung, die in Verbindung mit einem vorhandenen System, einer eigenständigen Anwendung oder einer Kombination davon arbeitet, konfiguriert werden.
  • In einer Ausführungsform bestimmt ein auf einer VM ausgeführtes Gast-Betriebssystem, ob die VM das Gast-Betriebssystem im Fall einer VM-Migration benachrichtigt. Nach einem Bestimmen, dass die VM das Gast-Betriebssystem nicht über VM-Migrationen benachrichtigt, sondern stattdessen Migrationen durchführt, die für das Gast-Betriebssystem transparent sind, initialisiert das Gast-Betriebssystem eine Migrations-Erkennungsroutine, die ein Überwachen einer HID umfasst. Das Gast-Betriebssystem erkennt eine VM-Migration durch Erkennen einer Änderung in der HID.
  • In einer Ausführungsform wird einem Gast-Betriebssystem, das auf einer VM ausgeführt wird, eine VMID und eine HID in Reaktion auf eine oder mehrere Abfragen durch das Gast-Betriebssystem bereitgestellt. In einer Ausführungsform umfassen die Abfragen des Gast-Betriebssystems ein Abrufen eines Registers einer Zentraleinheit (CPU) nach Informationen über ein Host-Computersystem, das die VM ausführt. Zum Beispiel weist ein Host-Computersystem in einer Ausführungsform eine CPU auf, die Sonderzweckregister (SPRs) umfasst, die auf dem Prozessorkern umgesetzt sind, die eine Vielfalt von Verwendungen bedienen wie zum Beispiel Fehlerbeseitigung, Zeitgeber, Arbeitsspeicher-Verwaltung und Unterbrechungen. In einigen Ausführungsformen umfassen die SPRs Register, die identifizierende Informationen über die CPU speichern, wie zum Beispiel ein Prozessorversionsregister (PVR), ein Systemversionsregister (SVR) und/oder ein Chipidentifizierungsregister (CIR). In einigen Ausführungsformen speichert ein PVR verschiedene Informationen über die CPU, wie zum Beispiel die ID eines Herstellers, einen Kerntyp, eine Kernversion und eine Kernrevision. Das PVR oder CIR unterscheidet zwischen Prozessorkernen durch Unterschiede in Attributen, die sich auf die Software auswirken können, und die PVR-Werte ermöglichen der Software, zwischen mehreren Typen von Prozessorkernen zu unterscheiden. In einer integrierten Einheit identifiziert das PVR den Kern, und das SVR identifiziert die integrierte Schaltung.
  • In einer Ausführungsform fragt das Gast-Betriebssystem Firmware oder im Arbeitsspeicher gespeicherte Daten ab, die Beschreibungen von Hardware-Komponenten umfassen, die dem Host-Computersystem und/oder der VM zugehörig sind. Zum Beispiel fragt das Gast-Betriebssystem einen Einheitenbaum oder Konfigurationsdateien ab, um Informationen über die VM und/oder das Host-Computersystem zu identifizieren. In einigen Ausführungsformen wird das Gast-Betriebssystem in Reaktion auf eine einzelne Abfrage, wie zum Beispiel eine Abfrage eines Einheitenbaums, mit einer VMID und einer HID bereitgestellt. In einigen Ausführungsformen wird das Gast-Betriebssystem mit einer VMID in Reaktion auf eine Anforderung bereitgestellt, und wird mit einer HID in Reaktion auf eine weitere Anforderung bereitgestellt.
  • In einer Ausführungsform erkennt ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, eine VM-Migration, in der die VM von einem Quell-Computersystem auf ein Ziel-Computersystem migriert worden ist, durch Verwenden einer HID, die in Reaktion auf eine HID-Abfrage durch das Gast-Betriebssystem empfangen wurde, mit einer vorher gespeicherten HID und durch Erkennen, dass sich die HID geändert hat. In einer Ausführungsform ist die HID-Anforderung eine von einer Mehrzahl von periodischen HID-Anforderungen von dem Gast-Betriebssystem an ein gegenwärtiges Host-Computersystem. In einigen Ausführungsformen erfolgt die Mehrzahl von periodischen HID-Abfragen von dem Gast-Betriebssystem an das aktuelle Host-Computersystem in festen Intervallen. In einigen Ausführungsformen können die festen Intervalle jeder gewünschte Zeitraum innerhalb der Funktionalität der aktuellen Hardware sein.
  • In einigen Ausführungsformen können die festen Intervalle so ausgewählt werden, dass sie verhindern, dass ein Fehler nach der Migration auftritt. Zum Beispiel tritt in einigen Ausführungsformen ein Fehler nach einem Zeitraum t in dem Gast-Betriebssystem auf, wenn die VM zu einer bestimmten Hardware migriert. In derartigen Ausführungsformen wählt das Gast-Betriebssystem ein festes Intervall i < t aus, um zu verhindern, dass der Fehler auftritt, indem der Zeitraum t niemals verstreichen darf, ohne die Migration zu erkennen und Konfigurationsänderungen vorzunehmen, um den Fehler zu verhindern.
  • In einer Ausführungsform erkennt ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, eine VM-Migration, in der die VM von einem Quell-Computersystem auf ein Ziel-Computersystem migriert worden ist, durch Vergleichen einer HID, die in Reaktion auf eine HID-Abfrage durch das Gast-Betriebssystem empfangen wurde, mit einer vorher gespeicherten HID und durch Erkennen, dass sich die HID geändert hat. In einer Ausführungsform ist die HID-Anforderung eine von einer Mehrzahl von periodischen HID-Anforderungen von dem Gast-Betriebssystem an ein aktuelles Host-Computersystem. In einigen Ausführungsformen erfolgt die Mehrzahl von periodischen HID-Abfragen von dem Gast-Betriebssystem an das aktuelle Host-Computersystem in wechselnden Intervallen. In einigen Ausführungsformen können die wechselnden Intervalle jeder gewünschte Zeitraum innerhalb der Funktionalität der aktuellen Hardware sein. In einigen Ausführungsformen hängen die wechselnden Intervalle von der Verfügbarkeit von Systemressourcen ab. Zum Beispiel werden die Abfragen in einigen Ausführungsformen auf eine niedrige Priorität gesetzt und warten, bis andere Systemprozesse abgeschlossen sind oder Systemressourcen verfügbar werden, bevor eine nächste Abfrage ausgegeben wird.
  • In einer Ausführungsform erkennt ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, eine VM-Migration von einem Quell-Computersystem zu einem Ziel-Computersystem, nachdem eine neue HID in Reaktion auf eine Abfrage an das Host-Computersystem empfangen wurde, wobei die neue HID dem Ziel-Computersystem zugehörig ist, und wobei das Gast-Betriebssystem die neue HID auf Grundlage eines Vergleichs mit einer vorher gespeicherten HID erkennt, die dem Quell-Computersystem zugehörig ist. In einer Ausführungsform speichert das Gast-Betriebssystem die neue HID in einem Computer-Arbeitsspeicher und verwendet die neue HID, um eine zukünftige VM-Migration auf Grundlage einer weiteren Änderung an der HID des Host-Computersystems zu erkennen. In einer Ausführungsform überschreibt das Gast-Betriebssystem die vorher gespeicherte HID, wenn die neue HID im Arbeitsspeicher gespeichert wird. In einer Ausführungsform speichert das Gast-Betriebssystem zusätzlich zum Speichern der aktuellen HID eine Anzahl von vorherigen Host-System-HIDs in dem Computer-Arbeitsspeicher.
  • In einer Ausführungsform erkennt ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, eine VM-Migration von einem Quell-Computersystem zu einem Ziel-Computersystem auf Grundlage von zumindest teilweise eines Vergleichs einer vorher empfangenen HID mit einer zuletzt empfangenen HID. In derartigen Ausführungsformen erkennt das Gast-Betriebssystem auf Grundlage der zuletzt empfangenen HID, dass eine Konfigurationsänderung an dem Gast-Betriebssystem wünschenswert ist. In derartigen Ausführungsformen nimmt das Gast-Betriebssystem die Konfigurationsänderung an dem Gast-Betriebssystem vor. In einer Ausführungsform umfasst die Konfigurationsänderung ein Anpassen einer Leistungsmessungseinstellung.
  • Aus Gründen der Übersichtlichkeit der Beschreibung und ohne irgendeine Einschränkung zu implizieren werden die veranschaulichenden Ausführungsformen durch Verwenden einiger Beispielkonfigurationen beschrieben. Aus dieser Offenbarung sind für den Fachmann viele Änderungen, Anpassungen und Modifizierungen einer beschriebenen Konfiguration vorstellbar, um einen beschriebenen Zweck zu erreichen, und diese werden als innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen berücksichtigt.
  • Ferner werden vereinfachte Darstellungen der Datenverarbeitungs-Umgebungen in den Figuren und den veranschaulichten Ausführungsformen verwendet. In einer tatsächlichen Datenverarbeitungsumgebung können zusätzliche Strukturen oder Komponenten, die hierin nicht gezeigt oder beschrieben wurden, oder Strukturen oder Komponenten, die sich von den gezeigten unterscheiden, aber für eine ähnliche Funktion wie hierin beschrieben vorhanden sein, ohne vom Schutzumfang der veranschaulichenden Ausführungsformen abzuweichen.
  • Ferner werden die veranschaulichenden Ausführungsformen in Bezug auf spezifische tatsächliche oder hypothetische Komponenten nur zu Beispielzwecken beschrieben. Die durch die verschiedenen veranschaulichenden Ausführungsformen beschriebenen Schritte können angepasst werden, um Erklärungen für Entscheidungen bereitzustellen, die zum Beispiel von einem Maschinenlern-Klassifizierermodell getroffen werden.
  • Alle spezifischen Erscheinungsformen von diesen und anderen ähnlichen Artefakten sind nicht als Einschränkung der Erfindung aufzufassen. Jede geeignete Erscheinungsform von diesen und anderen ähnlichen Artefakten kann innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen ausgewählt werden.
  • Die Beispiele in dieser Offenbarung werden nur zur Verdeutlichung der Beschreibung verwendet und schränken die veranschaulichenden Ausführungsformen nicht ein. Alle hierin aufgelisteten Vorteile sind nur Beispiele und sind nicht als Einschränkung auf die veranschaulichenden Ausführungsformen aufzufassen. Weitere oder verschiedene Vorteile können durch spezifische veranschaulichende Ausführungsformen verwirklicht werden. Ferner kann eine bestimmte veranschaulichende Ausführungsform einige, alle oder gar keine der oben aufgeführten Vorteile aufweisen.
  • Ferner können die veranschaulichenden Ausführungsformen in Bezug auf jeden Typ von Daten, Datenquelle oder Zugang zu einer Datenquelle über ein Datennetzwerk umgesetzt werden. Jeder Typ einer Datenspeichereinheit kann die Daten für eine Ausführungsform der Erfindung innerhalb des Schutzumfangs der Erfindung bereitstellen, entweder lokal auf einem Datenverarbeitungssystem oder über ein Datennetzwerk. In Fällen, in denen eine Ausführungsform durch Verwenden einer mobilen Einheit beschrieben wird, kann jeder Typ einer Datenspeichereinheit, der für ein Verwenden mit der mobilen Einheit geeignet ist, die Daten für eine derartige Ausführungsform innerhalb des Schutzumfang der veranschaulichenden Ausführungsformen entweder lokal auf der mobilen Einheit oder über ein Datennetzwerk bereitstellen.
  • Die veranschaulichenden Ausführungsformen werden durch Verwenden von spezifischem Code, kontrastreichen Erklärungen, einem durch einen Computer lesbaren Speichermedium, Merkmalen auf höchster Ebene, historischen Daten, Auslegungen, Architekturen, Protokollen, Layouts, Schemaplänen und Werkzeugen nur zu Beispielzwecken beschrieben und sind nicht auf die veranschaulichenden Ausführungsformen beschränkt. Ferner werden die veranschaulichenden Ausführungsformen in einigen Fällen durch ein Verwenden von bestimmter Software, von Werkzeugen und Datenverarbeitungsumgebungen nur zu Beispielzwecken zur Verdeutlichung der Beschreibung beschrieben. Die veranschaulichenden Ausführungsformen können in Verbindung mit anderen vergleichbaren oder ähnlich ausgelegten Strukturen, Systemen, Anwendungen oder Architekturen verwendet werden. Zum Beispiel können andere vergleichbare mobile Einheiten, Strukturen, Systeme, Anwendungen oder Architekturen dafür in Verbindung mit einer derartigen Ausführungsform der Erfindung innerhalb des Schutzumfangs der Erfindung verwendet werden. Eine veranschaulichende Ausführungsform kann in Hardware, Software, Firmware oder einer Kombination davon umgesetzt werden.
  • Die Beispiele in dieser Offenbarung werden nur zur Verdeutlichung der Beschreibung verwendet und schränken die veranschaulichenden Ausführungsformen nicht ein. Zusätzliche Daten, Operationen, Aktionen, Aufgaben, Aktivitäten und Manipulationen sind von dieser Offenbarung ausgehend denkbar, und dieselben werden innerhalb des Schutzumfang der veranschaulichenden Ausführungsformen in Betracht gezogen.
  • Alle hierin aufgelisteten Vorteile sind nur Beispiele und sind nicht als Einschränkung auf die veranschaulichenden Ausführungsformen aufzufassen. Weitere oder verschiedene Vorteile können durch spezifische veranschaulichende Ausführungsformen verwirklicht werden. Ferner kann eine bestimmte veranschaulichende Ausführungsform einige, alle oder gar keine der oben aufgeführten Vorteile aufweisen.
  • Unter Bezugnahme auf die Figuren und insbesondere unter Bezugnahme auf 1 und 2 sind diese Figuren beispielhafte Darstellungen von Datenverarbeitungsumgebungen, in denen veranschaulichende Ausführungsformen umgesetzt werden können. 1 und 2 sind nur Beispiele und durch sie soll keinerlei Einschränkung hinsichtlich der Umgebungen festgestellt oder impliziert werden, in denen verschiedene Ausführungsformen umgesetzt werden können. Eine spezielle Umsetzung kann zu vielen Modifizierungen an den dargestellten Umgebungen auf Grundlage der folgenden Beschreibung führen.
  • 1 stellt ein Blockschaubild eines Netzwerks von Datenverarbeitungssystemen dar, in denen veranschaulichende Ausführungsformen umgesetzt werden können. Eine Datenverarbeitungsumgebung 100 ist ein Netzwerk von Computern, in denen die veranschaulichenden Ausführungsformen umgesetzt werden können. Die Datenverarbeitungsumgebung 100 umfasst ein Netzwerk 102. Das Netzwerk 102 ist das Medium, das zum Bereitstellen von Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern verwendet wird, die in der Datenverarbeitungsumgebung 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen enthalten, wie beispielsweise drahtgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiterkabel.
  • Clients oder Server sind nur beispielhafte Rollen von bestimmten Datenverarbeitungssystemen, die mit dem Netzwerk 102 verbunden sind, und sind nicht so aufzufassen, dass sie andere Konfigurationen oder Rollen für diese Datenverarbeitungssysteme ausschließen. Eine Datenverarbeitungsumgebung 104 ist mit dem Netzwerk 102 verbunden. Software-Anwendungen können auf jedem Datenverarbeitungssystem in der Datenverarbeitungsumgebung 100 ausgeführt werden. Jede Software-Anwendung, die als in einem weiteren Verarbeitungssystem 104 in 1 ausgeführt beschrieben wird, kann konfiguriert werden, um in einem weiteren Datenverarbeitungssystem auf ähnliche Weise ausgeführt zu werden. Alle in einem Datenverarbeitungssystem 104 in 1 gespeicherten oder erzeugten Daten oder Informationen können konfiguriert werden, um in einem weiteren Datenverarbeitungssystem auf ähnliche Weise gespeichert oder erzeugt zu werden. Ein Datenverarbeitungssystem wie zum Beispiel das Datenverarbeitungssystem 104 kann Daten enthalten und kann Software-Anwendungen oder Software-Werkzeuge aufweisen, die Datenverarbeitungsprozesse darauf ausführen. In einer Ausführungsform umfasst das Datenverarbeitungssystem 104 einen Arbeitsspeicher 124, der eine Anwendung 105A umfasst, die so konfiguriert werden kann, dass eine oder mehrere der Datenprozessor-Funktionen umgesetzt werden können, die hierin gemäß einer oder mehreren Ausführungsformen beschrieben werden.
  • Ein Server 106 ist zusammen mit einer Speichereinheit 108 mit dem Netzwerk 102 verbunden. Die Speichereinheit 108 umfasst eine Datenbank 109, die konfiguriert ist, um Daten wie hierin beschrieben in Bezug auf verschiedene Ausführungsformen zu speichern, zum Beispiel Bilddaten und Attributdaten. Der Server 106 ist ein herkömmliches Datenverarbeitungssystem. In einer Ausführungsform umfasst der Server 106 eine VM-Anwendung 105B, die ein Gast-Betriebssystem umfasst und die so konfiguriert werden kann, dass sie eine oder mehrere der Prozessor-Funktionen umsetzen kann, die hierin gemäß einer oder mehreren Ausführungsformen beschrieben werden.
  • Clients 110, 112 und 114 sind ebenfalls mit dem Netzwerk 102 verbunden. Ein herkömmliches Datenverarbeitungssystem wie zum Beispiel der Server 106 oder der Client 110, 112 oder 114 kann Daten enthalten und kann Software-Anwendungen oder Software-Werkzeuge aufweisen, die herkömmliche Datenverarbeitungsprozesse darauf ausführen.
  • Nur als Beispiel und ohne irgendeine Einschränkung einer derartigen Architektur implizieren zu wollen, stellt 1 bestimmte Komponenten dar, die in einer beispielhaften Umsetzung einer Ausführungsform verwendbar sind. Zum Beispiel werden der Server 106 und die Clients 110, 112, 114 nur zu Beispielzwecken als Server und Clients dargestellt und nicht, um eine Einschränkung auf eine Client-Server-Architektur zu implizieren. Als weiteres Beispiel kann eine Ausführungsform über mehrere Datenverarbeitungssysteme und ein Datennetzwerk, wie gezeigt, verteilt werden, wogegen eine weitere Ausführungsform auf einem einzelnen Datenverarbeitungssystem innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen umgesetzt werden kann. Herkömmliche Datenverarbeitungssysteme 106, 110, 112 und 114 stellen auch Beispielknoten in einem Cluster, Partitionen und anderen Konfigurationen dar, die für ein Umsetzen einer Ausführungsform geeignet sind.
  • Eine Einheit 132 ist ein Beispiel für eine hierin beschriebene herkömmliche Datenverarbeitungseinheit. Zum Beispiel kann die Einheit 132 die Form eines Smartphones, eines Tablet-Computers, eines Laptop-Computers, eines Clients 110 in einer ortsfesten oder tragbaren Form, eine tragbare Datenverarbeitungseinheit oder jede andere geeignete Einheit aufweisen. In einer Ausführungsform sendet die Einheit 132 Anforderungen an den Server 106, um eine oder mehrere Datenverarbeitungsaufgaben durch die VM-Anwendung 105B durchzuführen, wie zum Beispiel ein Initiieren von hierin beschriebenen Prozessen eines Gast-Betriebssystems, das von einer VM gehostet wird. Jede Software-Anwendung, die als in einem weiteren herkömmlichen Datenverarbeitungssystem in 1 ausgeführt beschrieben wird, kann konfiguriert werden, um in der Einheit 132 auf ähnliche Weise ausgeführt zu werden. Alle in einem weiteren herkömmlichen Datenverarbeitungssystem in 1 gespeicherten oder erzeugten Daten oder Informationen können konfiguriert werden, um in der Einheit 132 auf ähnliche Weise gespeichert oder erzeugt zu werden.
  • Der Server 106, die Speichereinheit 108, das Datenverarbeitungssystem 104 und die Clients 110, 112 und 114 und die Einheit 132 können mit dem Netzwerk 102 durch ein Verwenden von drahtgebundenen Verbindungen, drahtlosen Datenübertragungsprotokollen oder einer anderen geeigneten Datenkonnektivität verbunden werden. Die Clients 110, 112 und 114 können zum Beispiel PCs oder Netzwerk-Computer sein.
  • In dem dargestellten Beispiel kann der Server 106 Daten wie zum Beispiel Boot-Dateien, Betriebssystemabbildungen und Anwendungen für die Clients 110, 112 und 114 bereitstellen. Die Clients 110, 112 und 114 können in diesem Beispiel Clients für den Server 106 sein. Die Clients 110, 112 und 114 oder eine Kombination davon können ihre eigenen Daten, Boot-Dateien, Betriebssystemabbilder und Anwendungen umfassen. Die Datenverarbeitungsumgebung 100 kann zusätzliche Server, Clients und andere nicht gezeigte Einheiten enthalten.
  • In dem dargestellten Beispiel kann der Arbeitsspeicher 124 Daten wie zum Beispiel Boot-Dateien, Betriebssystemabbildungen und Anwendungen für einen Prozessor 122 bereitstellen. Der Prozessor 122 kann seine eigenen Daten, Boot-Dateien, BS-Abbildungen und Anwendungen umfassen. Die Datenverarbeitungsumgebung 100 kann zusätzliche Arbeitsspeicher, Prozessoren und andere nicht gezeigte Einheiten enthalten.
  • In einer Ausführungsform setzen eine oder mehrere einer VM-Anwendung 105A des Datenverarbeitungssystems 104 und einer VM-Anwendung 105B des Servers 106 eine Ausführungsform einer VM um, die ein Gast-Betriebssystem wie hierin beschrieben ausführt. In einer bestimmten Ausführungsform wird die VM, die ein Gast-Betriebssystem ausführt, durch Verwenden von einer Netzwerk-Anwendung 105A oder einer Netzwerk-Anwendung 105B in einem einzelnen Server oder Verarbeitungssystem umgesetzt. In einer weiteren bestimmten Ausführungsform wird die VM, die ein Gast-Betriebssystem ausführt, durch Verwenden von sowohl der Netzwerk-Anwendung 105A als auch der Netzwerk-Anwendung 105B in einem einzelnen Server oder Verarbeitungssystem umgesetzt. Der Server 106 umfasst mehrere GPUs 107 mit mehreren Knoten, wobei jeder Knoten eine oder mehrere GPUs umfassen kann, wie hierin beschrieben.
  • In dem dargestellten Beispiel kann die Datenverarbeitungsumgebung 100 das Internet sein. Das Netzwerk 102 kann eine Sammlung von Netzwerken und Gateways darstellen, die das Transmission Control Protocol/Internet Protocol (TCP/IP) oder andere Protokolle verwenden, um miteinander Daten auszutauschen. Das Kernstück des Internets ist ein Backbone von Datenübertragungsverbindungen zwischen Hauptknoten oder Host-Computern, die Tausende von gewerblichen, behördlichen, schulischen und anderen Computersystemen umfassen, die Daten und Nachrichten weiterleiten. Selbstverständlich kann die Datenverarbeitungsumgebung 100 auch als eine Anzahl von verschiedenen Typen von Netzwerken umgesetzt werden, wie zum Beispiel ein Intranet, ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN). 1 ist als Beispiel und nicht als Architektureinschränkung für die verschiedenen veranschaulichenden Ausführungsformen gedacht.
  • Neben anderen Verwendungen kann die Datenverarbeitungsumgebung 100 zum Umsetzen einer Client-Server-Umgebung verwendet werden, in der die veranschaulichenden Ausführungsformen umgesetzt werden können. Eine Client-Server-Umgebung ermöglicht, dass Software-Anwendungen und Daten über ein Netzwerk verteilt werden können, sodass eine Anwendung durch ein Verwenden der Interaktivität zwischen einem herkömmlichen Client-Datenverarbeitungssystem und einem herkömmlichen Server-Datenverarbeitungssystem funktioniert. Die Datenverarbeitungsumgebung 100 kann auch eine dienstorientierte Architektur verwenden, in der interoperable Software-Komponenten, die über ein Netzwerk verteilt sind, als kohärente Geschäftsanwendungen zusammengepackt sind. Die Datenverarbeitungsumgebung 100 kann auch die Form einer Cloud annehmen und ein Cloud-Computing-Modell einer Dienstbereitstellung verwenden, um einen problemlosen bedarfsgesteuerten Netzwerkzugang zu einem gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen zu ermöglichen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können.
  • Unter Bezugnahme auf 2 stellt diese Figur ein Blockschaubild eines Datenverarbeitungssystems dar, in dem veranschaulichende Ausführungsformen umgesetzt werden können. Ein Datenverarbeitungssystem 200 ist ein Beispiel für einen herkömmlichen Computer, wie zum Beispiel das Datenverarbeitungssystem 104, der Server 106 oder die Clients 110, 112 und 114 in 1 oder ein anderer Typ von Einheit, in dem sich durch einen Computer verwendbarer Programmcode oder Anweisungen für die veranschaulichenden Ausführungsformen befinden kann bzw. können, der bzw. die die Prozesse umsetzt bzw. umsetzen.
  • Das Datenverarbeitungssystem 200 ist auch repräsentativ für ein herkömmliches Datenverarbeitungssystem oder eine Konfiguration darin, wie zum Beispiel das herkömmliche Datenverarbeitungssystem 132 in 1, in dem sich durch einen Computer verwendbarer Programmcode oder Anweisungen befinden kann bzw. können, der bzw. die die Prozesse der veranschaulichenden Ausführungsformen umsetzt bzw. umsetzen. Das Datenverarbeitungssystem 200 wird zu Beispielzwecken nur als ein Computer beschrieben, ohne darauf beschränkt zu sein. Umsetzungen in der Form von anderen Einheiten, wie beispielsweise die Einheit 132 in 1, können das Datenverarbeitungssystem 200 zum Beispiel durch Hinzufügen einer Berührungsschnittstelle modifizieren und sogar bestimmte dargestellte Komponenten aus dem Datenverarbeitungssystem 200 eliminieren, ohne von der allgemeinen Beschreibung der Operationen und Funktionen des hierin beschriebenen Datenverarbeitungssystems 200 abzuweichen.
  • In dem dargestellten Beispiel verwendet das Datenverarbeitungssystem 200 eine Hub-Architektur mit North-Bridge und Speicher-Controller-Hub (NB/MCH) 202 und South-Bridge und Eingabe/Ausgabe- (E/A) Controller-Hub (SB/ICH) 204. Eine Verarbeitungseinheit 206, ein Hauptarbeitsspeicher 208 und ein Grafikprozessor 210 sind mit North-Bridge und dem Controller-Hub (NB/MCH) 202 verbunden. Die Verarbeitungseinheit 206 kann einen oder mehrere Prozessoren, ein oder mehrere Sonderzweckregister (SPRs) wie zum Beispiel ein Prozessorversionsregister (PVR), ein Systemversionsregister (SVR) und/oder ein Chipidentifizierungsregister (CIR) enthalten und kann durch Verwenden von einem oder mehreren heterogenen Prozessorsystemen umgesetzt werden. Die Verarbeitungseinheit 206 kann ein Mehrkern-Prozessor sein. Der Grafikprozessor 210 kann in bestimmten Umsetzungen mit dem NB/MCH 202 über einen beschleunigten Grafikanschluss (AGP - Accelerated Graphics Port) verbunden werden.
  • In dem dargestellten Beispiel ist ein Adapter 212 des lokalen Netzwerks (LAN) mit South-Bridge und E/A-Controller-Hub (SB/ICH 204) verbunden. Ein Audio-Adapter 216, ein Tastatur- und Maus-Adapter 220, ein Modem, ein Nur-Lese-Speicher (ROM) 224, ein Universal-Serial-Bus (USB) und andere Anschlüsse 232 und PCI/PCIe-Einheiten 234 sind mit South-Bridge und einem E/A-Controller-Hub 204 über einen Bus 238 verbunden. Ein Festplattenlaufwerk oder eine Solid-State-Einheit (SSD) 226 und ein CD-ROM 230 sind mit South-Bridge und E/A-Controller-Hub 204 durch einen Bus 240 verbunden. Zu den PCI/PCIe-Einheiten 234 können beispielsweise Ethernet-Adapter, Add-in-Karten und PC-Karten für Notebook-Computer gehören. PCI verwendet einen Karten-Bus-Controller, PCle hingegen nicht. Der ROM 224 kann beispielsweise ein binäres Flash-Eingabe/Ausgabe-System (BIOS) sein. Das Festplattenlaufwerk 226 und der CD-ROM 230 können zum Beispiel eine Integrated Drive Electronics- (IDE) oder Serial Advanced Technology Attachment- (SATA) Schnittstelle oder Varianten wie beispielsweise External SATA (eSATA) und Mikro-SATA (mSATA) verwenden. Eine Super I/O- (SIO) Einheit 236 kann mit South-Bridge und dem E/A-Controller-Hub (SB/ICH) 204 über einen Bus 238 verbunden werden.
  • Arbeitsspeicher, wie zum Beispiel der Hauptarbeitsspeicher 208, der ROM 224 oder ein Flash-Speicher (nicht gezeigt) sind einige Beispiele für durch einen Computer verwendbare Speichereinheiten. Das Festplattenlaufwerk oder die Solid-State-Einheit 226, der CD-ROM oder andere ähnlich verwendbare Einheiten sind einige Beispiele für durch einen Computer verwendbare Speichereinheiten, die ein durch einen Computer verwendbares Speichermedium umfassen.
  • Auf der Verarbeitungseinheit 206 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert verschiedene Komponenten und stellt deren Steuerung in dem Datenverarbeitungssystem 200 in 2 bereit. Das Betriebssystem kann ein im Handel erhältliches Betriebssystem für jeden Typ einer Datenverarbeitungsplattform sein, das Serversysteme, PCs und mobile Einheiten umfasst, aber nicht darauf beschränkt ist. Ein objektorientiertes Programmiersystem oder ein anderer Typ eines Programmiersystems kann zusammen mit dem Betriebssystem ausgeführt werden und stellt Aufrufe an das Betriebssystem aus Programmen oder Anwendungen bereit, die auf dem Datenverarbeitungssystem 200 ausgeführt werden.
  • Anweisungen für das Betriebssystem, das objektorientierte Programmiersystem und Anwendungen oder Programme, wie beispielsweise die Anwendung 105 in 1, befinden sich auf Speichereinheiten, wie beispielsweise in der Form eines Codes 226A auf einem Festplattenlaufwerk 226, und können in mindestens einen von einem oder mehreren Arbeitsspeichern, wie beispielsweise einen Hauptarbeitsspeicher 208, zur Ausführung durch eine Verarbeitungseinheit 206 geladen werden. Die Prozesse der veranschaulichenden Ausführungsformen können von der Verarbeitungseinheit 206 durch Verwenden von durch den Computer umgesetzten Anweisungen durchgeführt werden, die sich in einem Arbeitsspeicher wie zum Beispiel dem Hauptarbeitsspeicher 208, dem ROM 224 oder in einer oder mehreren Peripherieeinheiten befinden können.
  • Ferner kann in einem Fall der Code 226A über ein Netzwerk 201A von einem entfernt angeordneten System 201B heruntergeladen werden, auf dem ein ähnlicher Code 201C auf einer Speichereinheit 201D gespeichert ist. In einem weiteren Fall kann der Code 226A über das Netzwerk 201A auf das entfernt angeordnete System 201B heruntergeladen werden, auf dem ein ähnlicher Code 201C auf einer Speichereinheit 201D gespeichert ist.
  • Die Hardware in den 1 bis 2 kann je nach Umsetzung verschieden sein. Andere interne Hardware- oder Peripherie-Einheiten wie Flash-Speicher, gleichwertiger nicht flüchtiger Arbeitsspeicher oder optische Plattenlaufwerke und dergleichen können zusätzlich zu oder anstelle der Hardware verwendet werden, die in den 1 bis 2 dargestellt ist. Außerdem können die Prozesse der veranschaulichenden Ausführungsformen auf ein Mehrfachprozessor-Datenverarbeitungssystem angewendet werden.
  • In einigen veranschaulichenden Beispielen kann das Datenverarbeitungssystem 200 ein Personal Digital Assistant (PDA) sein, der im Allgemeinen mit einem Flash-Arbeitsspeicher konfiguriert ist, um nichtflüchtigen Arbeitsspeicher zum Speichern von Betriebssystemdateien und/oder vom Benutzer generierten Daten bereitzustellen. Ein Bussystem kann aus einem oder mehreren Bussen bestehen, wie zum Beispiel einem Systembus, einem E/A-Bus und einem PCI-Bus. Selbstverständlich kann das Bussystem unter Verwendung jedes Typs von Kommunikationsstruktur oder -architektur umgesetzt werden, die eine Übertragung von Daten zwischen verschiedenen Komponenten oder Einheiten bereitstellen, die mit der Struktur oder Architektur verbunden sind.
  • Eine Datenübertragungseinheit kann eine oder mehrere Einheiten umfassen, die zum Übertragen und Empfangen von Daten verwendet wird bzw. werden, wie zum Beispiel ein Modem oder ein Netzwerkadapter. Ein Arbeitsspeicher kann zum Beispiel der Hauptarbeitsspeicher 208 oder ein Cachespeicher wie beispielsweise der Cachespeicher sein, der in North-Bridge und dem Arbeitsspeicher-Controller-Hub 202 zu finden ist. Eine Verarbeitungseinheit kann einen oder mehrere Prozessoren oder CPUs umfassen.
  • Die dargestellten Beispiele in den 1 bis 2 und die oben beschriebenen Beispiele sind so aufzufassen, dass sie keinerlei Einschränkungen der Architektur implizieren. Zum Beispiel kann das Datenverarbeitungssystem 200 zusätzlich zum Aufweisen einer Form als mobile oder Wearable-Einheit auch ein Tablet-Computer, ein Laptop-Computer oder eine Telefoneinheit sein.
  • In Fällen, in denen ein Computer- oder Datenverarbeitungssystem als eine virtuelle Maschine, eine virtuelle Einheit oder eine virtuelle Komponente beschrieben wird, arbeitet die virtuelle Maschine, die virtuelle Einheit oder die virtuelle Komponente in der Art und Weise des Datenverarbeitungssystems 200 durch Verwenden einer virtualisierten Erscheinungsform von einigen oder allen Komponenten, die in dem Datenverarbeitungssystem dargestellt sind. Zum Beispiel zeigt sich die Verarbeitungseinheit 206 in einer virtuellen Maschine, einer virtuellen Einheit oder einer virtuellen Komponente als eine virtualisierte Instanz von allen oder einigen Hardware-Verarbeitungseinheiten, die in einem Host-Datenverarbeitungssystem verfügbar sind, der Hauptarbeitsspeicher 208 zeigt sich als eine virtualisierte Instanz des gesamten oder eines Teils des Hauptarbeitsspeichers 208, der in dem Host-Datenverarbeitungssystem verfügbar ist, und die Festplatte 226 zeigt sich als eine virtualisierte Instanz des gesamten oder eines Teils der Festplatte 226, die in dem Host-Datenverarbeitungssystem verfügbar ist. Das Host-Datenverarbeitungssystem wird in solchen Fällen durch das Datenverarbeitungssystem 200 dargestellt.
  • Unter Bezugnahme auf 3 stellt diese Figur ein Blockschaubild einer beispielhaften Umgebung eines Datenverarbeitungssystems 300 gemäß einer veranschaulichenden Ausführungsform dar. Die beispielhafte Ausführungsform umfasst eine virtuelle Maschine 304, die auf einem Gast-Betriebssystem 314 ausgeführt wird. In einer bestimmten Ausführungsform ist die virtuelle Maschine 304, die auf einem Gast-Betriebssystem 314 ausgeführt wird, ein Beispiel für die Anwendung 105A/105B von 1.
  • In der veranschaulichten Ausführungsform umfasst eine Umgebung eines Datenverarbeitungssystems 300, die für eine Live-Migration konfiguriert ist, ein Quell-Computersystem 302, das über ein Datenübertragungs-Computernetzwerk, zum Beispiel ein LAN, WAN oder das Internet in Datenaustausch mit einem Ziel-Computersystem 316 verbunden ist. Das Quell-Computersystem 302 umfasst eine Host-Computer-Hardware 312, die ein Beispiel für ein Datenverarbeitungssystem 200 ist, das in 2 gezeigt ist, und das ein Host-Betriebssystem 310 ausführt, das die Operation eines Hypervisors 308 unterstützt. Der Hypervisor 308 kann wiederum die Operation einer Prä-Migrationsversion der VM 304 verwalten, und die VM 304 hostet die Operation eines Gast-Betriebssystems 314 mit einem Migrations-Erkennungsmodul 306.
  • In der veranschaulichten Ausführungsform umfasst die Umgebung des Datenverarbeitungssystems 300 ferner ein Ziel-Computersystem 316. Das Ziel-Computersystem 316 umfasst eine Host-Computer-Hardware 322, die ein Beispiel für ein Datenverarbeitungssystem 200 ist, das in 2 gezeigt ist, und das ein Host-Betriebssystem 310 ausführt, das die Operation eines Hypervisors 318 unterstützt. Der Hypervisor 318 kann wiederum die Operation einer Post-Migrationsversion der VM 304' verwalten, und die Post-Migrationsversion der VM 304' hostet die Operation des Gast-Betriebssystems 304' mit dem Migrations-Erkennungsmodul 306'. Eine verschiedene virtualisierte Datenverarbeitungsumgebung 210B kann auch mindestens einen Host-Server 230B umfassen, der die Operation eines Hypervisors 240B unterstützt. Der Hypervisor 240B kann wiederum die Operation von mehreren verschiedenen VMs 260B verwalten, und jede VM 260B kann die Ausführung von einer oder mehreren Anwendungskomponenten (nicht gezeigt) hosten, die zum Bereitstellen einer Datenverarbeitungsanwendung kombiniert sind. Zu erwähnen ist, dass eine Live-Migrationslogik 300 sowohl mit der sicheren virtualisierten Datenverarbeitungsumgebung 210A als auch der verschiedenen virtualisierten Datenverarbeitungsumgebung 210B verbunden werden kann. Die Live-Migrationslogik 300 kann Programmcode umfassen, der für eine Live-Migration einer ausgewählten der VMs 260A von der sicheren virtualisierten Datenverarbeitungsumgebung 210A zu der verschiedenen virtualisierten Datenverarbeitungsumgebung 210B befähigt ist, wobei die Sicherheit von Datenübertragungen zwischen ihnen beibehalten wird.
  • In der veranschaulichten Ausführungsform kann der Programmcode mit dem Migrations-Erkennungsmodul 306/306' befähigt sein, VM-Migrationen zu erkennen. In einigen Ausführungsformen erkennt das Gast-Betriebssystem 306, das auf der VM 304 ausgeführt wird, eine VM-Migration für eine Vielfalt von VMs mit verschiedenen Migrations-Benachrichtigungsmodellen, einschließlich transparenten Modellen, in denen die VM konfiguriert ist, um von einem Host-Computersystem auf ein anderes migriert zu werden, ohne das Gast-Betriebssystem 314 zu benachrichtigen. In einer Ausführungsform erkennt das Gast-Betriebssystem 314, dass die VM von einem Quell-Computersystem 302 auf ein Ziel-Computersystem 316 migriert wurde, indem eine Host-Kennung (HID) überwacht und erkannt wird, dass eine Änderung an der HID bedeutet, dass eine Änderung an der Hardware erfolgt ist, die die VM betreibt, und deshalb bedeutet, dass eine VM-Migration erfolgt ist.
  • Unter Bezugnahme auf 4 stellt diese Figur einen Ablaufplan eines beispielhaften Prozesses 400 für ein Erkennen einer VM-Migration durch ein Gast-Betriebssystem gemäß einer veranschaulichenden Ausführungsform dar. In einer bestimmten Ausführungsform führt das Gast-Betriebssystem 314 und/oder das Migrations-Erkennungsmodul 306 den Prozess 400 aus.
  • In einer Ausführungsform fragt die Anwendung an einem Block 402 eine Host-VM und/oder ein Host-Betriebssystem nach einer Host-Kennung und VM-Migrationsklasse ab. In einigen Ausführungsformen erkennt die Anwendung, ob die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind. Als Nächstes erstellt die Anwendung in einer Ausführungsform an einem Block 404 ein Host-Umgebungsprofil, das die Host-Kennung umfasst, die in Reaktion auf die Anforderung empfangen wurde. Als Nächstes initiiert die Anwendung an einem Block 406 einen Migrations-Erkennungsdienst für ein periodisches Abfragen der Host-VM und/oder des Betriebssystems nach einer Kennung und ein Vergleichen in Reaktion auf die Kennung, die in dem Umgebungsprofil gespeichert ist. Als Nächstes bestimmt die Anwendung an einem Block 408, dass die VM migriert worden ist, durch ein Erkennen, dass sich die Kennung in der Abfrage-Antwort von der Kennung unterscheidet, die im Umgebungsprofil gespeichert ist. Schließlich aktualisiert die Anwendung an einem Block 410 ein Umgebungsprofil durch Ersetzen der Kennung durch eine neue Kennung, die mit der Abfrage-Antwort erhalten wurde.
  • Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Patentschrift zu verwenden. Wie hierin verwendet, sollen die Begriffe „weist auf“, „aufweisend“, „umfasst“, „umfassend“, „besitzt“, „besitzend“, „enthält“ oder „enthaltend“ oder irgendeine Variation davon eine nicht ausschließende Einbeziehung abdecken. Zum Beispiel ist eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, die eine Liste von Elementen umfasst, nicht notwendigerweise auf nur diese Elemente beschränkt, sondern kann andere Elemente umfassen, die nicht ausdrücklich aufgelistet oder derartigen Zusammensetzungen, Gemischen, Prozessen, Verfahren, Artikeln oder Vorrichtungen eigen sind.
  • Außerdem bedeutet der hierin verwendete Begriff „veranschaulichend“, dass „etwas als Beispiel, Instanz oder zur Veranschaulichung dient“. Jede hierin als „veranschaulichend“ beschriebene Ausführungsform oder Auslegung muss nicht notwendigerweise als gegenüber anderen Ausführungsformen oder Auslegungen bevorzugt oder vorteilhaft aufgefasst werden. Der Begriff „mindestens ein/eine“ und „ein/e oder mehrere“ ist als jede ganzzahlige Anzahl größer oder gleich eins zu verstehen, d.h. eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ ist als ganzzahlige Anzahl größer oder gleich zwei zu verstehen, d.h. zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ umfassen.
  • Verweise in der Patentschrift auf „eine bestimmte Ausführungsform“, „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein besonderes Merkmal, eine besondere Struktur oder Eigenschaft umfassen kann, aber nicht jede Ausführungsform das besondere Merkmal, die besondere Struktur oder Eigenschaft umfassen muss. Des Weiteren verweisen derartige Ausdrücke nicht notwendigerweise auf dieselbe Umgebung, Wenn ferner ein bestimmtes Merkmal, eine Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, wird geltend gemacht, dass es innerhalb der Kenntnisse eines Fachmanns liegt, auf ein derartiges Merkmal, eine derartige Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen Einfluss zu nehmen, gleichgültig, ob dies explizit beschrieben wurde.
  • Die Begriffe „über“, „im Wesentlichen“, „ungefähr“ und Variationen davon sollen das Fehlermaß angeben, das einer Messung der bestimmten Menge auf Grundlage des Zeitpunkts der Anmeldungseinreichung auf der verfügbaren Ausrüstung zugehörig ist. Zum Beispiel kann „ungefähr“ einen Bereich von ±8 % oder 5 % oder 2 % eines bestimmten Werts umfassen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck der Veranschaulichung erstellt, sie sollen aber keineswegs erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang und Erfindungsgedanken der beschriebenen Ausführungsformen abweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, der praktischen Anwendung oder technischen Verbesserung gegenüber auf dem Markt gefundenen Technologien bestmöglich zu erklären oder anderen Fachleuten das Verständnis der hierin beschriebenen Ausführungsformen zu ermöglichen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck der Veranschaulichung erstellt, sie sollen aber keineswegs erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang und Erfindungsgedanken der beschriebenen Ausführungsformen abweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, der praktischen Anwendung oder technischen Verbesserung gegenüber auf dem Markt gefundenen Technologien bestmöglich zu erklären oder anderen Fachleuten das Verständnis der hierin beschriebenen Ausführungsformen zu ermöglichen.
  • Somit wird ein durch einen Computer umgesetztes Verfahren, ein System oder eine Vorrichtung und ein Computerprogrammprodukt in den veranschaulichenden Ausführungsformen zum Verwalten einer Teilnahme an Online-Communities und anderen zugehörigen Merkmalen, Funktionen oder Operationen bereitgestellt. In Fällen, in denen eine Ausführungsform oder ein Teil davon in Bezug auf einen Einheitentyp beschrieben wird, wird das durch einen Computer umgesetzte Verfahren, das System oder die Vorrichtung und das Computerprogrammprodukt oder ein Teil davon angepasst oder konfiguriert, um mit einer geeigneten oder vergleichbaren Erscheinungsform dieses Einheitentyps verwendet zu werden.
  • In Fällen, in denen eine Ausführungsform als in einer Anwendung umgesetzt beschrieben wird, wird die Bereitstellung der Anwendung in einem Software as a Service-(SaaS)-Modell innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen in Betracht gezogen. In einem SaaS-Modell wird die Fähigkeit der Anwendung zum Umsetzen einer Ausführungsform für einen Benutzer durch Ausführen der Anwendung in einer Cloud-Infrastruktur bereitgestellt. Der Benutzer kann durch Verwenden einer Vielfalt von Client-Einheiten über eine Thin-Client-Schnittstelle, beispielsweise ein Web-Browser (z.B. eMail auf Web-Grundlage) oder andere leichte Client-Anwendungen auf die Anwendung zugreifen. Der Benutzer verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme oder der Speicher der Cloud-Infrastruktur. In einigen Fällen kann der Benutzer nicht einmal die Funktionen der SaaS-Anwendung verwalten oder steuern. In einigen anderen Fällen kann die SaaS-Umsetzung der Anwendung eine mögliche Ausnahme von eingeschränkten benutzerspezifischen Einstellungen der Anwendungskonfiguration gestatten.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailintegrationsebene handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zum Ausführen von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste von spezifischeren Beispielen des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig 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 vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Durchführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Ausführungsformen der vorliegenden Erfindung können auch als Teil einer Dienstvereinbarung mit einem Kundenunternehmen, einer gemeinnützigen Organisation, einer Regierungsbehörde, einer internen Organisationsstruktur oder dergleichen bereitgestellt werden. Aspekte dieser Ausführungsformen können ein Konfigurieren eines Computersystems umfassen, um Software, Hardware und Web-Dienste durchzuführen und bereitzustellen, die einige oder alle der hierin beschriebenen Verfahren umsetzen. Aspekte dieser Ausführungsformen können auch ein Analysieren der Operationen des Kunden, Erstellen von Empfehlungen in Reaktion auf die Analyse, Erstellen von Systemen, die Abschnitte der Empfehlungen umsetzen, Integrieren der Systeme in vorhandene Prozesse und die Infrastruktur, Messen der Nutzung der Systeme, Zuweisen von Kosten zu Nutzern der Systeme, und Fakturieren für die Nutzung der Systeme umfassen. Zwar wurden die vorgenannten Ausführungsformen der vorliegenden Erfindung jeweils durch Angeben ihrer individuellen Vorteile beschrieben, doch ist die vorliegende Erfindung nicht auf eine bestimmte Kombination von diesen beschränkt. Derartige Ausführungsformen können im Gegenteil auch auf jede Art und Weise und in jeder Anzahl gemäß dem beabsichtigten Einsatz der vorliegenden Erfindung kombiniert werden, ohne ihre vorteilhaften Auswirkungen einzubüßen.

Claims (30)

  1. Durch einen Computer umgesetztes Verfahren, das aufweist: Speichern, durch ein Gast-Betriebssystem (BS), das auf einer virtuellen Maschine (VM) ausgeführt wird, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein erstes Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird; Bestimmen, durch das Gast-Betriebssystem, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind; Erkennen, durch das Gast-Betriebssystem, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde, und Aktualisieren, durch das Gast-Betriebssystem, einer Konfigurationseinstellung des Gast-Betriebssystems in Reaktion auf ein Erkennen, dass die VM migriert worden ist.
  2. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei die VMID durch die VM in Reaktion auf eine VMID-Anforderung von dem Gast-Betriebssystem bereitgestellt wird.
  3. Durch einen Computer umgesetztes Verfahren nach Anspruch 2, wobei die HID durch das erste Host-Computersystem in Reaktion auf eine erste HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wird.
  4. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei die VMID und die erste HID durch das Gast-Betriebssystem in Reaktion auf eine erste Anforderung von dem Gast-Betriebssystem bereitgestellt werden.
  5. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei das Bestimmen, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind, zumindest teilweise auf der VMID beruhen, die von der VM bereitgestellt wird.
  6. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei die HID-Anforderung eine von einer Mehrzahl von periodischen HID-Anforderungen von dem Gast-Betriebssystem an ein aktuelles Host-Computersystem ist.
  7. Durch einen Computer umgesetztes Verfahren nach Anspruch 6, wobei die Mehrzahl von periodischen HID-Anforderungen Anforderungen von dem Gast-Betriebssystem umfasst, die in festen Intervallen getätigt werden.
  8. Durch einen Computer umgesetztes Verfahren nach Anspruch 6, wobei die Mehrzahl von periodischen HID-Anforderungen Anforderungen von dem Gast-Betriebssystem umfasst, die in wechselnden Intervallen getätigt werden.
  9. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, das ferner in Reaktion auf ein Erkennen, dass die VM migriert worden ist, die zweite HID durch das Gast-Betriebssystem in dem Computer-Arbeitsspeicher speichert.
  10. Durch einen Computer umgesetztes Verfahren nach Anspruch 6, wobei das Speichern der zweiten HID ein Überschreiben der ersten HID in dem Computer-Arbeitsspeicher umfasst.
  11. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei das Aktualisieren der Konfigurationseinstellung diejenige des Gast-Betriebssystems auf Grundlage der zweiten HID umfasst.
  12. Durch einen Computer umgesetztes Verfahren nach Anspruch 11, wobei das Aktualisieren der Konfigurationseinstellung ein Bestimmen einer Einstellungsänderung umfasst, die zumindest teilweise auf Grundlage der zweiten HID vorzunehmen ist.
  13. Computerprogrammprodukt zum Erkennen einer VM-Migration, wobei das Computerprogrammprodukt ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen aufweist, die gemeinsam auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen durch eine Controller-Schaltung ausführbar sind, um die Controller-Schaltung zu veranlassen, Operationen durchzuführen, die aufweisen: Speichern, durch ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein erstes Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird; Bestimmen, durch das Gast-Betriebssystem, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind; Erkennen, durch das Gast-Betriebssystem, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde, und Aktualisieren, durch das Gast-Betriebssystem, einer Konfigurationseinstellung des Gast-Betriebssystems in Reaktion auf ein Erkennen, dass die VM migriert worden ist.
  14. Durch einen Computer verwendbares Programmprodukt nach Anspruch 13, das ferner in Reaktion auf ein Erkennen, dass die VM migriert worden ist, die zweite HID durch das Gast-Betriebssystem in dem Computer-Arbeitsspeicher speichert.
  15. Durch einen Computer verwendbares Programmprodukt nach Anspruch 13, wobei das Aktualisieren der Konfigurationseinstellung ein Bestimmen einer Einstellungsänderung umfasst, die zumindest teilweise auf Grundlage der zweiten HID vorzunehmen ist.
  16. Durch einen Computer verwendbares Programmprodukt nach Anspruch 13, wobei die gespeicherten Programmanweisungen in einer durch einen Computer lesbaren Speichereinheit in einem Datenverarbeitungssystem gespeichert sind, und wobei die gespeicherten Programmanweisungen über ein Netzwerk von einem entfernt angeordneten Datenverarbeitungssystem übertragen werden.
  17. Durch einen Computer verwendbares Programmprodukt nach Anspruch 13, wobei die gespeicherten Programmanweisungen in einer durch einen Computer lesbaren Speichereinheit in einem Server-Datenverarbeitungssystem gespeichert sind, und wobei die gespeicherten Programmanweisungen über ein Netzwerk auf ein entfernt angeordnetes Datenverarbeitungssystem zur Nutzung in einer durch einen Computer lesbaren Speichereinheit heruntergeladen werden, die dem entfernt angeordneten Datenverarbeitungssystem zugehörig ist, wobei es ferner aufweist: Programmanweisungen zum Messen der Nutzung des durch den Computer verwendbaren Codes, der der Anforderung zugehörig ist; und Programmanweisungen zum Generieren einer Rechnung auf Grundlage der gemessenen Nutzung.
  18. Computersystem, das einen Prozessor und ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen aufweist, die gemeinsam auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen durch den Prozessor ausführbar sind, um den Prozessor zu veranlassen, Operationen durchzuführen, die aufweisen: Speichern, durch ein Gast-Betriebssystem, das auf einer VM ausgeführt wird, einer VM-Kennung (VMID), die durch die VM bereitgestellt wird, und einer ersten Host-Kennung (HID), die durch ein erstes Host-Computersystem in einem Computer-Arbeitsspeicher bereitgestellt wird; Bestimmen, durch das Gast-Betriebssystem, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind; Erkennen, durch das Gast-Betriebssystem, dass die VM auf Grundlage eines Vergleichs der ersten HID mit einer zweiten HID migriert wurde, die dem Gast-Betriebssystem in Reaktion auf eine HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wurde, und Aktualisieren, durch das Gast-Betriebssystem, einer Konfigurationseinstellung des Gast-Betriebssystem in Reaktion auf ein Erkennen, dass die VM migriert worden ist.
  19. Computersystem nach Anspruch 18, wobei die VMID durch die VM in Reaktion auf eine VMID-Anforderung von dem Gast-Betriebssystem bereitgestellt wird.
  20. Computersystem nach Anspruch 19, wobei die HID durch das erste Host-Computersystem in Reaktion auf eine erste HID-Anforderung von dem Gast-Betriebssystem bereitgestellt wird.
  21. Computersystem nach Anspruch 18, wobei die VMID und die erste HID durch das Gast-Betriebssystem in Reaktion auf eine erste Anforderung von dem Gast-Betriebssystem bereitgestellt wird.
  22. Computersystem nach Anspruch 18, wobei das Bestimmen, dass die VM Migrationen durchführt, die für das Gast-Betriebssystem transparent sind, zumindest teilweise auf der VMID beruhen, die von der VM bereitgestellt wird.
  23. Computersystem nach Anspruch 18, wobei die HID-Anforderung eine von einer Mehrzahl von periodischen HID-Anforderungen von dem Gast-Betriebssystem an ein aktuelles Host-Computersystem ist.
  24. Computersystem nach Anspruch 23, wobei die Mehrzahl von periodischen HID-Anforderungen Anforderungen von dem Gast-Betriebssystem umfasst, die in festen Intervallen getätigt werden.
  25. Computersystem nach Anspruch 23, wobei die Mehrzahl von periodischen HID-Anforderungen Anforderungen von dem Gast-Betriebssystem umfasst, die in wechselnden Intervallen getätigt werden.
  26. Computersystem nach Anspruch 18, das ferner in Reaktion auf ein Erkennen, dass die VM migriert worden ist, die zweite HID durch das Gast-Betriebssystem in dem Computer-Arbeitsspeicher speichert.
  27. Computersystem nach Anspruch 23, wobei das Speichern der zweiten HID ein Überschreiben der ersten HID in dem Computer-Arbeitsspeicher umfasst.
  28. Computersystem nach Anspruch 18, wobei das Aktualisieren der Konfigurationseinstellung diejenige des Gast-Betriebssystems auf Grundlage der zweiten HID umfasst.
  29. System nach Anspruch 28, wobei das Aktualisieren der Konfigurationseinstellung ein Bestimmen einer Einstellungsänderung umfasst, die zumindest teilweise auf Grundlage der zweiten HID vorzunehmen ist.
  30. Computerprogramm, das Programmcodemittel aufweist, die angepasst sind, um das Verfahren nach einem der Ansprüche 1 bis 12 durchzuführen, wenn das Verfahren auf einem Computer durchgeführt wird.
DE112020004619.2T 2019-11-13 2020-11-10 Erkennung einer virtuellen maschinenmigration durch ein gehostetesbetriebssystem Pending DE112020004619T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/682,877 US11520612B2 (en) 2019-11-13 2019-11-13 Virtual machine migration detection by a hosted operating system
US16/682,877 2019-11-13
PCT/IB2020/060565 WO2021094913A1 (en) 2019-11-13 2020-11-10 Virtual machine migration detection by hosted operating system

Publications (1)

Publication Number Publication Date
DE112020004619T5 true DE112020004619T5 (de) 2022-08-04

Family

ID=75847474

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004619.2T Pending DE112020004619T5 (de) 2019-11-13 2020-11-10 Erkennung einer virtuellen maschinenmigration durch ein gehostetesbetriebssystem

Country Status (6)

Country Link
US (1) US11520612B2 (de)
JP (1) JP2023502918A (de)
CN (1) CN114730274A (de)
DE (1) DE112020004619T5 (de)
GB (1) GB2605066B (de)
WO (1) WO2021094913A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220413902A1 (en) * 2021-06-23 2022-12-29 International Business Machines Corporation Partition migration with critical task prioritization

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386612B2 (en) 2009-02-10 2013-02-26 International Business Machines Corporation Optimizing migration policy during live virtual memory migration
US8370560B2 (en) 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
US8875129B2 (en) 2010-02-05 2014-10-28 Tripwire, Inc. Systems and methods for monitoring and alerting events that virtual machine software produces in a virtual infrastructure
US8239863B2 (en) * 2010-06-29 2012-08-07 Hewlett-Packard Development Company, L.P. Method and system for migrating a virtual machine
US8959173B1 (en) * 2010-09-30 2015-02-17 Emc Corporation Non-disruptive load-balancing of virtual machines between data centers
US8819678B2 (en) 2010-12-15 2014-08-26 Red Hat Israel, Ltd. Live migration of a guest from a source hypervisor to a target hypervisor
US10102018B2 (en) 2011-05-27 2018-10-16 Red Hat, Inc. Introspective application reporting to facilitate virtual machine movement between cloud hosts
US9104460B2 (en) 2011-05-31 2015-08-11 Red Hat, Inc. Inter-cloud live migration of virtualization systems
US9032160B1 (en) * 2011-12-29 2015-05-12 Emc Corporation Continuous data replication
US10333827B2 (en) 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
CN103812823B (zh) 2012-11-07 2017-10-10 华为技术有限公司 虚拟机热迁移时配置信息迁移的方法、设备及系统
US9792150B1 (en) 2013-06-28 2017-10-17 Veritas Technologies Llc Detecting site change for migrated virtual machines
US9729660B2 (en) 2013-07-24 2017-08-08 Netapp, Inc. Method and system for detecting virtual machine migration
US9436751B1 (en) 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
US11294698B2 (en) 2014-03-10 2022-04-05 Nokia Solutions And Networks Oy Waiting a host determined specific amount of time before performing virtual network function migration
CN105471744B (zh) 2014-09-19 2018-10-09 新华三技术有限公司 一种虚拟机迁移方法和装置
WO2017069648A1 (en) 2015-10-21 2017-04-27 Huawei Technologies Co., Ltd. Distributed cache live migration
WO2017082757A1 (en) 2015-11-13 2017-05-18 Huawei Technologies Co., Ltd. Computer data processing system and method for communication traffic based optimization of virtual machine communication
WO2017199062A1 (en) 2016-05-17 2017-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for enabling live virtual machine (vm) migration in software-defined networking networks
US10320895B2 (en) 2016-11-15 2019-06-11 Microsoft Technology Licensing, Llc Live migration of load balanced virtual machines via traffic bypass
US20180329646A1 (en) 2017-05-12 2018-11-15 International Business Machines Corporation Distributed storage system virtual and storage data migration
CN107291527B (zh) 2017-05-23 2020-04-03 华为技术有限公司 预拷贝迁移停止预判方法及装置
US10375169B1 (en) 2017-05-24 2019-08-06 United States Of America As Represented By The Secretary Of The Navy System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration
US10572289B2 (en) 2017-08-28 2020-02-25 Red Hat Israel, Ltd. Guest-initiated announcement of virtual machine migration
US11070629B2 (en) 2017-08-30 2021-07-20 Red Hat Israel, Ltd Migration notification and response messages for virtual machines
TWI645293B (zh) 2017-11-30 2018-12-21 財團法人工業技術研究院 在多根輸入輸出虛擬化環境中虛擬機器即時遷移的方法、系統及其計算主機
CN109710386B (zh) 2019-01-03 2020-08-28 北京工业大学 一种虚拟机的虚拟可信根实例的整体动态迁移方法

Also Published As

Publication number Publication date
US11520612B2 (en) 2022-12-06
JP2023502918A (ja) 2023-01-26
US20210141654A1 (en) 2021-05-13
GB202207739D0 (en) 2022-07-13
CN114730274A (zh) 2022-07-08
GB2605066B (en) 2023-07-19
WO2021094913A1 (en) 2021-05-20
GB2605066A (en) 2022-09-21

Similar Documents

Publication Publication Date Title
DE112020000558B4 (de) Dynamisches ändern einer isolierung einer containerisierten arbeitslast in reaktion auf eine erfassung eines auslösenden faktors
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE112012004238T5 (de) Auf Erkennung beruhende Identifizierung und Migration von leicht in eine Cloud verlagerbaren Anwendungen
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE112020002987T5 (de) Bereitstellen von mikrodiensten über eine dienstinfrastruktur hinweg
DE112020000280B4 (de) Transparente interpretation von gastbefehlen in einer sicheren virtuellen maschinenumgebung
DE102016222861A1 (de) Transparentes, sicheres Durchführen von Abrufvorgängen
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112020004699T5 (de) Schützen von arbeitslasten in kubernetes
DE112020000912T5 (de) Verwalten von software-programmen
DE112020005257T5 (de) Fehler-ursachen-analyse unter verwendung einer granger-kausalität
DE112022002736T5 (de) Übertragen von aufgabendaten zwischen edge-einheiten beim edge computing
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE112020004522T5 (de) Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112021005927T5 (de) Patchen von arbeitsabläufen
DE112021004854T5 (de) Dynamische ersetzung von verarbeitungselementen mit einem leistungsabfall in streaming-anwendungen
DE102021122508A1 (de) Ausgleichen von grossrechner- und verteilten arbeitslasten auf der grundlage von leistung und kosten
DE112020004619T5 (de) Erkennung einer virtuellen maschinenmigration durch ein gehostetesbetriebssystem
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE112020005362T5 (de) Sicheres verarbeiten von integrierten nachrichtenflüssen in einem multi-tenant-container

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence