DE112020004522T5 - Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen - Google Patents

Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen Download PDF

Info

Publication number
DE112020004522T5
DE112020004522T5 DE112020004522.6T DE112020004522T DE112020004522T5 DE 112020004522 T5 DE112020004522 T5 DE 112020004522T5 DE 112020004522 T DE112020004522 T DE 112020004522T DE 112020004522 T5 DE112020004522 T5 DE 112020004522T5
Authority
DE
Germany
Prior art keywords
migration
computer
server
live
hypervisor
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
DE112020004522.6T
Other languages
English (en)
Inventor
Chetan Gaonkar
Sanchita Sinha
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 DE112020004522T5 publication Critical patent/DE112020004522T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Es werden Ausführungsformen eines Verfahrens zum Durchführen von Live-Aktualisierungen bereitgestellt. Das Verfahren enthält ein Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist, und ein Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server. Das Verfahren enthält darüber hinaus ein Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps, ein Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle und ein Durchführen einer Rückmigration auf Grundlage des Migrationstyps. Darüber hinaus werden Ausführungsformen für ein System und ein Computerprogrammprodukt zum Durchführen von Live-Aktualisierungen bereitgestellt.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Datenmigration und im Besonderen auf ein Verbessern der Effizienz von Frame-übergreifenden Live-Aktualisierungen.
  • HINTERGRUND
  • Die Virtualisierung als Technologie zielt darauf ab, eine Schicht zwischen der Hardware-Plattform und dem Betriebssystem und den Anwendungen, die ausgeführt werden, einzufügen. Unter dem Gesichtspunkt von unterbrechungsfreien Geschäftsabläufen und einer Wiederherstellung nach einem Absturz bietet die Virtualisierung den inhärenten Vorteil einer Portierbarkeit der Umgebung. Im Besonderen besteht ein Verlagern einer gesamten Umgebung, die mit mehreren verschiedenen Anwendungen konfiguriert ist, darin, ein virtuelles Image von einer unterstützenden Hardware-Plattform zu einer weiteren zu verlagern. Darüber hinaus können leistungsfähigere Datenverarbeitungsumgebungen die Koexistenz mehrerer verschiedener virtueller Images unterstützen, während eine virtuelle Trennung zwischen den Images aufrechterhalten wird. Folglich kann ein Fehlerzustand in einem virtuellen Image die Integrität von sonstigen virtuellen Images auf derselben Hardware-Plattform, die ebenfalls ausgeführt werden, nicht gefährden.
  • Ein Virtual Machine Monitor, der nach dem Stand der Technik als „Hypervisor“ bekannt ist, verwaltet die Interaktion zwischen jedem virtuellen Image und den zugrunde liegenden Ressourcen, die durch die Hardware-Plattform bereitgestellt werden.
  • In dieser Hinsicht wird ein Bare-Metal-Hypervisor direkt auf der Hardware-Plattform ausgeführt, so wie ein Betriebssystem direkt auf der Hardware ausgeführt wird. Im Vergleich dazu wird ein per Hosting bereitgestellter Hypervisor innerhalb eines Host-Betriebssystems ausgeführt. In beiden Fällen kann der Hypervisor den Betrieb von verschiedenen „Gastbetriebssystem-Images“ - die als Images einer virtuellen Maschine (VM) bekannt sind - unterstützen, wobei die Anzahl von VM-Images nur durch die Verarbeitungs-Ressourcen eines VM-Containers begrenzt wird, der die VM-Images oder die Hardware-Plattform selbst enthält.
  • Die Virtualisierung hat sich als besonders nützlich für diejenigen Endbenutzer erwiesen, die getrennte Datenverarbeitungsumgebungen für verschiedene Typen von Anwendungen benötigen und gleichzeitig auf eine einzelne Hardware-Plattform beschränkt sind. Beispielsweise ist allgemein bekannt, dass ein primäres Betriebssystem, das für einen Typ von Hardware-Plattform nativ ist, ein virtualisiertes Gastbetriebssystem bereitstellt, das für eine andere Hardware-Plattform nativ ist, so dass Anwendungen, die das Vorhandensein des Gastbetriebssystems erfordern, mit anderen Anwendungen, die das Vorhandensein des primären Betriebssystems erfordern, koexistieren können. Auf diese Weise muss der Endbenutzer keine getrennten Datenverarbeitungsumgebungen bereitstellen, die jeweils einen anderen Anwendungstyp unterstützen. Unabhängig von dem Gastbetriebssystem bleibt der Zugriff auf die zugrunde liegenden Ressourcen der einzelnen Hardware-Plattform jedoch statisch.
  • Virtualisierte Umgebungen sind bereitgestellt worden, um bei einem Erstellen einer Anwendungslösung verschiedene voneinander abhängige Anwendungen in verschiedenen VMs zusammenzufassen. Beispielsweise kann ein Anwendungs-Server innerhalb einer VM ausgeführt werden, während ein Datenbank-Verwaltungssystem in einer anderen VM ausgeführt werden kann, und während ferner ein Web-Server in einer noch weiteren VM ausgeführt werden kann. Jede VM kann zur Datenübertragung mit einer weiteren in einem sicheren Netzwerk verbunden sein, jedoch kann eine beliebige Bereitstellung der Anwendungen zu einer anderen Bereitstellung live migriert werden, ohne die Ausführung der sonstigen Anwendungen in den sonstigen VMs zu beeinträchtigen. Bei einer typischen Live-Migration kann eine VM von einem Host-Server zu einem weiteren verlagert werden, um eine Server-Wartung zu ermöglichen oder um eine Verbesserung der Hardware-Unterstützung für die VM zu ermöglichen. Dementsprechend kann sich eine Live-Migration als zeitaufwendiger Prozess erweisen.
  • Daher besteht nach dem Stand der Technik ein Bedarf, das oben genannte Problem zu lösen.
  • KURZDARSTELLUNG
  • Unter einem ersten Aspekt betrachtet, stellt die vorliegende Erfindung ein auf einem Computer implementiertes Verfahren zum Durchführen einer Live-Aktualisierung bereit, wobei das Verfahren aufweist: Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist; Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server; Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps; Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle; und Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein System zum Durchführen von Live-Aktualisierungen bereit, wobei das System aufweist: einen oder mehrere Prozessoren und zumindest einen Speicher, der mit dem einen oder den mehreren Prozessoren verbunden ist, wobei der eine oder die mehreren Prozessoren konfiguriert sind zu einem: Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist; Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server; Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps; Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle; und Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Durchführen einer Live-Aktualisierung bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung lesbar ist und das Anweisungen zur Ausführung durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens zum Durchführen der Schritte der Erfindung speichert.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das in einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Speicher eines Digitalcomputers ladbar ist, das Abschnitte eines Software-Codes aufweist, um die Schritte der Erfindung durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Durchführen von Live-Aktualisierungen bereit, wobei das Computerprogrammprodukt aufweist: ein durch einen Computer lesbares Speichermedium, in dem Programmanweisungen gespeichert sind, die durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen zu einem: Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist; Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server; Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps; Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle; und Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf ein auf einem Computer implementiertes Verfahren für eine verbesserte Effizienz von Frame-übergreifenden Live-Aktualisierungen. Ein nichtbeschränkendes Beispiel für das auf einem Computer implementierte Verfahren enthält ein Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist, und ein Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server. Das auf einem Computer implementierte Verfahren enthält darüber hinaus ein Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps, ein Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle und ein Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf ein System für eine verbesserte Effizienz von Frame-übergreifenden Live-Aktualisierungen. Ein nichtbeschränkendes Beispiel für das System enthält einen oder mehrere Prozessoren und zumindest einen Speicher, der mit dem einen oder den mehreren Prozessoren verbunden ist. Der eine oder die mehreren Prozessoren sind konfiguriert zu einem Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist, und einem Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server. Der eine oder die mehreren Prozessoren sind darüber hinaus konfiguriert zu einem Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps, einem Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle und einem Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  • Ausführungsformen der Erfindung beziehen sich auf ein Computerprogrammprodukt für eine verbesserte Effizienz von Frame-übergreifenden Live-Aktualisierungen, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen verkörpert sind. Die Programmanweisungen sind durch einen Prozessor ausführbar, um den Prozessor zu veranlassen, ein Verfahren durchzuführen. Ein nichtbeschränkendes Beispiel für das Verfahren enthält ein Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist, und ein Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server. Das auf einem Computer implementierte Verfahren enthält darüber hinaus ein Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps, ein Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle und ein Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  • Zusätzliche technische Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung umgesetzt. Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und werden als Teil des beanspruchten Gegenstandes betrachtet. Zum besseren Verständnis sei auf die ausführliche Beschreibung und auf die Zeichnungen verwiesen.
  • Figurenliste
  • Die Besonderheiten der hierin beschriebenen Exklusivrechte werden in den Ansprüchen am Ende der Beschreibung genau dargelegt und ausdrücklich beansprucht. Die obigen und sonstige Merkmale und Vorteile der Ausführungsformen der Erfindung werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich, in denen:
    • 1 eine Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 2 Abstraktionsmodellschichten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 3 ein Blockschaubild eines Computersystems zur Verwendung bei einem Umsetzen der Lehren hierin veranschaulicht;
    • 4 ein weiteres System gemäß einer oder mehreren Ausführungsformen der Erfindung darstellt;
    • 5 eine Migration von einem ersten Server zu einem zweiten Server gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 6 einen Zustand des Systems gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 7 einen Zustand des Systems gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 8 Hypervisor-Tabellen, die das Migration-nach-Migration-Bit enthalten, während des hierin beschriebenen Migrationsprozesses gemäß einer oder mehreren Ausführungsformen der Erfindung darstellt;
    • 9 einen Zustand des Systems gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt; und
    • 10 einen Ablaufplan eines Verfahrens zum Durchführen einer Migration gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt.
  • Die hierin dargestellten Schaubilder dienen der Veranschaulichung. Es sind viele Varianten des Schaubildes oder der darin beschriebenen Operationen möglich, ohne vom Wesensgehalt der Erfindung abzuweichen. Die Vorgänge können beispielsweise in einer abweichenden Reihenfolge durchgeführt werden, oder es können Vorgänge hinzugefügt, weggelassen oder modifiziert werden. Darüber hinaus beschreiben der Begriff „verbunden“ und Varianten davon das Vorhandensein eines Datenübertragungsweges zwischen zwei Elementen und unterstellen keine direkte Verbindung zwischen den Elementen, ohne dass sich dazwischenliegende Elemente/Verbindungen zwischen diesen befinden. Alle diese Varianten werden als Teil der Beschreibung betrachtet.
  • In den beigefügten Figuren und der folgenden ausführlichen Beschreibung der offenbarten Ausführungsformen sind die verschiedenen in den Figuren veranschaulichten Elemente mit zwei- oder dreistelligen Bezugszeichen versehen. Mit wenigen Ausnahmen entspricht/entsprechen die am weitesten links stehende(n) Ziffer(n) jedes Bezugszeichens der Figur, in der dessen Element zuerst veranschaulicht wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Hierin werden verschiedene Ausführungsformen der Erfindung unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Alternative Ausführungsformen der Erfindung können entwickelt werden, ohne vom Umfang dieser Erfindung abzuweichen. Verschiedene Verbindungen und Positionsbeziehungen (z.B. über, unter, angrenzend an usw.) zwischen Elementen werden in der folgenden Beschreibung und in den Zeichnungen dargelegt. Sofern nichts anderes angegeben ist, können diese Verbindungen und/oder Positionsbeziehungen direkt oder indirekt sein, und die vorliegende Erfindung soll in dieser Hinsicht nicht beschränkend sein. Dementsprechend kann sich eine Verbindung von Entitäten entweder auf eine direkte oder auf eine indirekte Verbindung beziehen, und eine Positionsbeziehung zwischen Entitäten kann eine direkte oder eine indirekte Positionsbeziehung sein. Darüber hinaus können die verschiedenen hierin beschriebenen Aufgaben und Prozessschritte in eine umfassendere Prozedur oder einen umfassenderen Prozess mit zusätzlichen Schritten oder Funktionen integriert werden, die hierin nicht ausführlich beschrieben werden.
  • Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Beschreibung zu verwenden. So, wie die Begriffe hierin verwendet werden, sollen „weist auf“, „aufweisend“, „umfasst“, „umfassend“, „verfügt über“, „verfügend über“, „enthält“ oder „enthaltend“ oder jegliche sonstige Variante von diesen eine nichtausschließliche Einbeziehung abdecken. Beispielsweise ist eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, der/die/das eine Auflistung von Elementen aufweist, nicht zwingend auf nur diese Elemente beschränkt, sondern kann sonstige Elemente enthalten, die nicht ausdrücklich aufgeführt oder einer/einem solchen Zusammensetzung, Gemisch, Prozess, Verfahren, Gegenstand oder Vorrichtung inhärent sind.
  • Darüber hinaus wird hierin der Begriff „beispielhaft“ in der Bedeutung „als Exempel, Beispiel oder Veranschaulichung dienend“ verwendet. Jegliche hierin als „beispielhaft“ beschriebene Ausführungsform oder Konstruktion soll nicht unbedingt als gegenüber sonstigen Ausführungsformen oder Konstruktionen bevorzugt oder vorteilhaft aufgefasst werden. Die Begriffe „zumindest ein(e)“ und „ein(e) oder mehrere“ können so verstanden werden, dass sie jede Ganzzahl enthalten, die größer als oder gleich eins ist, d.h., eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ kann so verstanden werden, dass er jede Ganzzahl enthält, die größer als oder gleich zwei ist, d.h., zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ enthalten.
  • Die Begriffe „etwa“, „im Wesentlichen“ „ungefähr“ und Varianten davon sollen den Fehlergrad enthalten, der einer Messung der jeweiligen Menge auf Grundlage der zum Zeitpunkt des Einreichens der Anmeldung verfügbaren Ausrüstung zugehörig ist. Beispielsweise kann „etwa“ einen Bereich von ± 8 % oder 5 % oder 2 % eines bestimmten Wertes enthalten.
  • Der Kürze halber werden herkömmliche Techniken im Zusammenhang mit einem Herstellen und Verwenden von Aspekten der Erfindung hierin möglicherweise nicht ausführlich beschrieben. Im Besonderen sind verschiedene Aspekte von Datenverarbeitungssystemen und spezifischen Computerprogrammen zum Implementieren der verschiedenen hierin beschriebenen technischen Merkmale allgemein bekannt. Dementsprechend werden hierin der Kürze halber zahlreiche Einzelheiten einer herkömmlichen Implementierung nur kurz erwähnt oder ganz weggelassen, ohne die allgemein bekannten Einzelheiten des Systems und/oder der Prozesse bereitzustellen.
  • Es versteht sich, dass, wenngleich diese Offenbarung eine ausführliche Beschreibung zu Cloud-Computing enthält, eine Implementierung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung implementiert werden.
  • Bei Cloud-Computing handelt es sich um ein Modell zum Erbringen von Dienstleistungen, um einen praktischen, bedarfsgesteuerten Netzwerkzugriff auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungs-Ressourcen (z.B. Netzwerken, Netzwerkbandbreite, Servern, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuellen Maschinen und Diensten) zu ermöglichen, die schnell mit möglichst geringem Verwaltungsaufwand oder Zusammenwirken mit einem Anbieter des Dienstes bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann zumindest fünf Eigenschaften, zumindest drei Dienstmodelle und zumindest vier Implementierungsmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Server-Zeit und Netzwerkspeicher sorgen, ohne dass ein menschliches Zusammenwirken mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungs-Ressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt, und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungs-Ressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Implementierungsmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich innerhalb oder außerhalb der eigenen Räumlichkeiten befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich innerhalb oder außerhalb der eigenen Räumlichkeiten befinden.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit einem Schwerpunkt auf Zustandslosigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Zentrum des Cloud-Computing befindet sich eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten enthält.
  • Unter Bezugnahme auf 1 wird eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie dargestellt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen lokale Datenverarbeitungseinheiten, die durch Cloud-Kunden verwendet werden, wie zum Beispiel ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Kraftfahrzeug-Computersystem 54N, Daten miteinander austauschen können. Die Datenverarbeitungsknoten 10 können Daten miteinander austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken zusammengefasst werden (nicht gezeigt), zum Beispiel in Private, Community, Public oder Hybrid Clouds, wie hierin oben beschrieben, oder in einer Kombination von diesen. Dies ermöglicht der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienstleistungen anzubieten, für die ein Cloud-Kunde keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 1 dargestellten Typen von Datenverarbeitungseinheiten 54A bis N lediglich der Veranschaulichung dienen sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 mit einem beliebigen Typ einer computerisierten Einheit über einen beliebigen Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. mithilfe eines Web-Browsers) Daten austauschen können.
  • Unter Bezugnahme auf FIG. 2 wird ein Satz von funktionalen
  • Abstraktionsschichten dargestellt, der durch das Cloud-Computing-System 50 (1) bereitgestellt wird. Es versteht sich im Vorhinein, dass die in 2 dargestellten Komponenten, Schichten und Funktionen lediglich der Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen: Großrechner 61; Server 62 auf Grundlage einer RISC-Architektur (Reduced Instruction Set Computer, Computer mit reduziertem Anweisungssatz); Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. Bei einigen Ausführungsformen zählen zu Software-Komponenten Netzwerkanwendungs-Server-Software 67 und Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server 71; ein virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Ressourcen-Bereitstellung 81 bietet eine dynamische Beschaffung von Datenverarbeitungs-Ressourcen und sonstigen Ressourcen, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung genutzt werden. Messung und Preisbildung 82 stellen eine Kostenüberwachung während der Nutzung von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und sonstige Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Dienstgüteverwaltung 84 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass erforderliche Dienstgütegrade erreicht werden. Eine Planung und Erfüllung von Dienstgütevereinbarungen (Service Level Agreement, SLA) 85 stellen eine Vorbereitung für und eine Bereitstellung von Cloud-Computing-Ressourcen bereit, für die eine künftige Erfordernis gemäß einer SLA erwartet wird.
  • Eine Verarbeitungsprozessschicht 90 stellt Beispiele für eine Funktionalität bereit, für die die Cloud-Computing-Umgebung eingesetzt werden kann. Zu Beispielen für Verarbeitungsprozesse und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94, Transaktionsverarbeitung 95; und Aktionsanalysen und Benachrichtigungen 96.
  • Es folgt ein Überblick über Technologien, die für Aspekte der Erfindung von besonderer Bedeutung sind, wobei Server gelegentlich aus verschiedenen Gründen eine Migration durchführen. Live-Migrationen ermöglichen es Kunden, den Betrieb während des Migrationsprozesses aufrechtzuerhalten und so Ausfallzeiten von Anwendungen zu vermeiden.
  • Um die Live-Aktualisierung zu implementieren, wird eine zusätzliche Ersatz-LPAR mit demselben Umfang an System-Ressourcen wie die ursprüngliche erstellt. Alle Prozesse und zugehörigen Ressourcen werden am Ende der Live-Aktualisierungsoperation von der ursprünglichen zu der Ersatz-LPAR übertragen. Bei gepackten Servern kann es in bestimmten Situationen aufgrund einer Beschränkung oder eines Mangels an Ressourcen, um sowohl die Ersatz- als auch die ursprüngliche LPAR während der Live-Aktualisierungsoperation aufzunehmen, zu Problemen kommen. Um diese Einschränkung zu überwinden, weist die Live-Aktualisierung die Möglichkeit auf, die VM (die einer Aktualisierung unterzogen werden muss) zu einem anderen Server (Ziel-Server) zu migrieren, der ausreichende Prozessor- und Speicher-Ressourcen aufweist. Die Live-Aktualisierung wird auf dem Ziel-Server durchgeführt. Nach Abschluss der Live-Aktualisierung wird eine Rückmigration zu dem Host-Server durchgeführt.
  • Eine Live-Partitionsmobilität (LPM) bietet die Möglichkeit, die logische Partition (LPAR) oder virtuelle Maschine (VM) von einem Server zu einem weiteren zu verlagern, ohne die Infrastrukturdienste und Arbeitsprozesse zu unterbrechen. Der Hypervisor des Systems verwaltet in Zusammenarbeit mit der Verlagerungsdienstpartition (Moving Service Partition, MSP) die Aktivitäten zum Migrieren der Speicherseiten der LPAR/VM von einem System zu einem weiteren. Es gibt verschiedene Migrationstypen, darunter einen temporären und einen permanenten Migrationsprozess. Die temporäre Migration verlagert die logische Partition für einen bestimmten Zeitraum zu einem anderen Ort oder Server und führt die logische Partition anschließend zu ihrem Quellort oder -Server zurück. Die permanente Migration hat nicht die Absicht, zum Quell-Server oder -ort zurückzukehren.
  • Die Live-Aktualisierung weist die Möglichkeit auf, die VM (die einer Aktualisierung unterzogen werden muss) zu einem anderen Server (Ziel-Server) zu migrieren, der ausreichende Prozessor- und Speicher-Ressourcen aufweist. Die Live-Aktualisierung wird auf dem Ziel-Server durchgeführt. Nach Abschluss der Live-Aktualisierung wird eine Rückmigration zu dem Host-Server durchgeführt.
  • Eine Live-Aktualisierung führt eine Live-Migration zu einem alternativen Server durch, führt eine Live-Aktualisierungsoperation auf dem Ziel-Server durch und führt eine anschließende Migration zurück zu dem Host- oder Quell-Server durch. Da ein Verlagern über Server hinweg die LPM-Operation enthält, wird der zusätzliche Zeitaufwand durch die Live-Aktualisierung verlängert, wodurch sich die Gesamtdauer der Live-Aktualisierungsoperation erhöht.
  • Bei der LPM-Operation, die während der Live-Aktualisierung durchgeführt wird, handelt es sich nur um eine temporäre Migration, da die LPAR/VM zu ihrem ursprünglichen Host-Server zurückkehrt, nachdem die Live-Aktualisierungsoperation abgeschlossen ist. Die LPM/Live-Migration zu und aus dem Speicher wird nicht als temporäre Verlagerung betrachtet. Die Hin- und Her-Verlagerung (zweifache LMP) führt zu einer Verschlechterung der Leistungsfähigkeit der Live-Aktualisierung. Aktuell gibt es keine bestehenden Techniken in dem Hypervisor, um den Zustand der migrierten Seiten zu verfolgen. Folglich überträgt er sämtliche Speicherseiten unabhängig davon, ob die Seiten während der LPM aktualisiert worden sind.
  • Mit anderen Worten, der Seitenspeicher wird während der temporären Migration nicht beibehalten, und der gesamte Seitenspeicher muss zurück an den Quell-Hypervisor übertragen werden, wenn eine temporäre Migration durchgeführt wird. Das heißt, eine permanente Migration und eine temporäre werden gleich behandelt. Dies verursacht eine verstärkte Verzögerung in dem Rückmigrationsprozess, da selbst diejenigen Seiten zurück zu dem Quell-Server übertragen werden, die nicht modifiziert worden sind.
  • Es folgt ein Überblick über die Aspekte der Erfindung, wobei eine oder mehrere Ausführungsformen der Erfindung die oben beschriebenen Mängel des Standes der Technik behandeln, indem sie Techniken bereitstellen, die hierin beschrieben werden, um die Dauer der Operation der Speicherseitenübertragung zu verbessern, indem nur diejenigen Speicherseiten ausgewählt werden, die nach der ersten LPM geschrieben/aktualisiert werden.
  • Die oben beschriebenen Aspekte der Erfindung behandeln die Mängel des Standes der Technik mithilfe eines zusätzlichen Feldes, das in die Hypervisor-Seitentabelle eingefügt werden kann, das als Markierung (Modifizierung-nach-Migration-Bit) fungiert. Die Nummer der logischen Seite kann vor und nach der LVM dieselbe sein. Die LU vermerkt dieses zusätzliche Feld durch Betrachten der Seitentabelle. Während es die Rückmigration durchführt, überträgt das System nur die Seiten, für die die Modifizierung-nach-Migration-Markierung gesetzt ist.
  • Der Hypervisor muss auf dieses zusätzliche Feld aufmerksam gemacht werden, da er für die Zuordnung von virtuellen zu physischen Seiten zuständig ist. Es bezieht sich nur auf die Zuordnung von physischen Seiten. Es bezieht sich nur auf physische Seiten für die logischen Seiten, deren Markierungs-Bit gesetzt ist. Dadurch sollte die Gesamtdauer der Speicherseitenübertragung verringert werden. Dieses zusätzliche Feld kann als Modifizierung-nach-Migration-(MAM)-Bit adressiert werden.
  • Es folgt eine ausführlichere Beschreibung von Aspekten der vorliegenden Erfindung, wobei 3 ein Blockschaubild eines beispielhaften Computersystems (d.h., eines Servers) 12 veranschaulicht, das für verschiedene Ausführungsformen der Offenbarungen betreibbar ist. Wie dargestellt, ist der Server 12 lediglich ein Beispiel für einen geeigneten Computer zum Migrieren einer logischen Partition (LPAR) von einer Maschine zu einer weiteren und soll den Umfang der Nutzung oder der Funktionalität von Ausführungsformen der hierin beschriebenen Offenbarung nicht einschränken.
  • Der Server 12 ist in zahlreichen sonstigen Umgebungen oder Konfigurationen von Datenverarbeitungssystemen betreibbar. Beispielsweise kann es sich bei dem Server 12 um eine virtuelle Partition auf einem physischen Host, eine Cluster-Server-Umgebung oder eine verteilte Cloud-Computing-Umgebung, die beliebige der obigen Systeme enthält, und dergleichen handeln. Bei einer Umsetzung in einer verteilten Cloud-Computing-Umgebung können Aufgaben sowohl durch lokale als auch durch entfernt angeordnete Server 12 durchgeführt werden, die durch ein Datenübertragungsnetzwerk wie zum Beispiel das Netzwerk 99 miteinander verbunden sind und Daten austauschen. Bei einer Ausführungsform der vorliegenden Erfindung können die lokalen und entfernt angeordneten Server 12 als Quell- und Ziel-Server für Live-Migrationen von Betriebssystemen bezeichnet werden. Darüber hinaus enthält eine Ausführungsform des Servers 12 einen eigenständigen Maschinensteuerpunkt, der auch als Hardware Management Console (HMC) bezeichnet wird, der als Koordinator für die Inventarvalidierung und Live-Migrationen von Betriebssystemen fungiert. Bei einer weiteren Ausführungsform kann der Server 12 eine Systemverwaltungseinheit enthalten, die dazu konfiguriert ist, eine einzelne Anlaufstelle für die Systemverwaltung bereitzustellen, darunter Hardware-Konfiguration, und Software-, Hardware- und Netzwerkverwaltung in einer Umgebung mit mehreren Knoten oder mehreren Servern. Eine weitere Ausführungsform des Servers 12 enthält den virtuellen E/A-Server (virtual I/O server, VIOS), der auch als Virtualisierungsverwaltungseinheit bezeichnet wird, die ein Hosting der virtuellen Maschinen bereitstellt, die auch als logische Partitionen (LPAR) oder Clients bezeichnet werden, die Virtualisierung der physischen Hardware-Ressourcen verwaltet und an der Live-Migration eines Betriebssystems beteiligt ist.
  • Der Server 12 kann im Zusammenhang mit ausführbaren Anweisungen wie zum Beispiel einem Programm oder im Besonderen einem Betriebssystem (operating system, OS) 40 beschrieben werden, bei dem es sich um eine Zusammenfassung von Programmmodulen 42, Komponenten, Objekten, Logik oder Datenstrukturen handelt, die durch die Verarbeitungseinheit 16 ausgeführt werden, um den Betrieb des Servers 12 zu steuern. Eine Inventarvalidierung und Live-Migration eines Betriebssystems können als Programmmodule 42 oder als Erweiterungen des OS 40 implementiert werden. Zumindest ein Abschnitt des OS 40 kann darauf spezialisiert sein, den Algorithmus von 3 bis 4 auszuführen.
  • Jeder beteiligte Server 12 unterliegt der Steuerung durch ein OS 40, das sich auf jedem lokalen bzw. entfernt angeordneten Server 12 befindet. Jede Instanz der virtuellen Maschine ist eine Emulation eines physischen Computers. Ein physischer Computer kann ein Hosting für mehrere Instanzen von virtuellen Maschinen bereitstellen, die jeweils die Hardware-Ressourcen des physischen Computers gemeinsam nutzen und jeweils einen physischen Computer emulieren. Jede der Instanzen von virtuellen Maschinen unterliegt der Steuerung durch ein OS 40.
  • Zu den Komponenten des Servers 12 können ein oder mehrere Prozessoren oder Verarbeitungseinheiten 16, ein Systemspeicher 28 und ein Bus 18 zählen, der verschiedene Systemkomponenten wie etwa den Systemspeicher 28 mit der Verarbeitungseinheit 16 verbindet, ohne auf diese beschränkt zu sein.
  • Der Systemspeicher 28 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie zum Beispiel eines Direktzugriffsspeichers (random access memory, RAM) 30 und/oder eines Cache-Speichers 32 enthalten. Der Server 12 kann des Weiteren sonstige austauschbare/nichtaustauschbare, flüchtige/nichtflüchtige Speichermedien von Computersystemen enthalten.
  • Lediglich als Beispiel kann ein Speichersystem 34 als eine oder mehrere Einheiten zum Lesen von einem nichtaustauschbaren, nichtflüchtigen Magnetmedium wie zum Beispiel einer Festplatte (hard disk drive, HDD) oder einer optischen Platte wie zum Beispiel einer CD-ROM, DVD-ROM und zum Schreiben auf diese bereitgestellt werden. Jede Einheit des Speichersystems 34 kann durch eine oder mehrere Datenmedien-Schnittstellen mit dem Bus 18 verbunden sein. Das OS 40 und ein oder mehrere Anwendungsprogramme können in dem Speichersystem 34 gespeichert werden und anschließend nach Bedarf zur Ausführung in den Speicher 28 geladen werden.
  • Der Server 12 kann darüber hinaus mit einer oder mehreren externen Einheiten 14 wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw.; einer oder mehreren Einheiten, die einem Benutzer ermöglichen, mit dem Server 12 zu interagieren; und/oder beliebigen Einheiten (z.B. einer Netzwerkkarte, einem Modem usw.) Daten austauschen, die dem Server 12 ermöglichen, Daten mit einer oder mehreren sonstigen Datenverarbeitungseinheiten auszutauschen. Eine solche Datenübertragung kann über E/A-Schnittstellen 22 durchgeführt werden.
  • Der Server 12 kann mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netzwerk (local area network, LAN), einem allgemeinen Weitverkehrsnetzwerk (wide area network, WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) über einen Netzwerkadapter 20 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 20 Daten mit den sonstigen Komponenten des Servers 12 über den Bus 18 aus. In einer Umgebung eines Multi-Tenant-Rechenzentrums (multi-tenant datacenter, MTD) wie zum Beispiel einer Cloud-Computing-Umgebung können Netzwerk-Datenübertragungen jedoch durch die Mitglieds-Server 12 und virtuellen Maschinen sowohl durch physische Einheiten (z.B. Netzwerkadapter, Netzwerk-Switches) als auch virtualisierte Netzwerke wie zum Beispiel diejenigen geleitet werden, die mithilfe von Software-Defined Networking (SDN) implementiert sind.
  • Ein externer Speicheradapter 26 verbindet den Server 12 mit externen Speicherteilsystemen wie zum Beispiel einem Speicherbereichs-Netzwerk (storage area network, SAN) 15. Für eine Live-Migration eines Betriebssystems, die auch als Mobilitätsereignis oder Live-Partitionsmobilität bezeichnet wird, nutzen der Quell- und der Ziel-Server eine Verbindung mit dem SAN 15 gemeinsam. Die migrierende virtuelle Maschine weist außerdem eine virtuelle Verbindung durch den physischen Quellcomputer mit dem SAN 15 auf. Zu beispielhaften externen Speicheradaptern 26 zählen abhängig von der architektonischen Implementierung ein Host-Busadapter (HBA), der auch als Fibre Channel bezeichnet wird, ein Host-Kanaladapter (host channel adapter, HCA), SCSI und iSCSI, ohne auf diese beschränkt zu sein. Der externe Speicheradapter 26 tauscht über den Bus 18 Daten mit der Verarbeitungseinheit 16 und dem Speicher 28 des Servers 12 aus.
  • Es versteht sich, wenngleich dies nicht dargestellt wird, dass sonstige Hardware- und/oder Software-Komponenten zusammen mit dem Server 12 verwendet werden könnten. Zu Beispielen zählen Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, Bandlaufwerke und Datenarchivierungs-Speichersysteme usw., ohne auf diese beschränkt zu sein.
  • 4 veranschaulicht ein System zum Verringern von redundanten Validierungen für eine Live-Migration eines Betriebssystems. Die Ausführungsform enthält ein Quell- und ein Ziel-Server-System 12. Das Quell-Server-System 12 enthält LPARs 220 und 222, wenngleich eine größere oder kleinere Anzahl von LPARs bereitgestellt werden kann. LPARs ist ein Teilsatz der physischen Hardware-Ressourcen eines Computers (d.h., ein Teilsatz der Hardware, die der Server-Umgebung zugrunde liegt) zugewiesen, und sie sind innerhalb der Server-Umgebung als getrennte(r) Computer/virtuelle Maschine virtualisiert. Ressourcen wie zum Beispiel eine Prozessorkapazität, virtuelle und physische E/A-Einheiten, Speicher oder ein beliebiger sonstiger Typ einer Ressource können einer bestimmten LPAR zugewiesen sein. Jede LPAR weist ihre eigene(n) Betriebssysteminstanz (z.B. OS 224, 226 und 293), Anwendungsprogramme (z.B. (eine) Anwendung(en) 228, 230 und 295) und/oder zugehörige Dateien auf, die ermöglichen, dass mehrere virtuelle Umgebungen gleichzeitig innerhalb der Server-Umgebung ausgeführt werden.
  • Spezialisierte LPARs 240 und 242 sind dazu bestimmt, eine E/A-Funktionalität durch Ausführen von VIOS-Software/Firmware (Software, Logik und/oder ausführbarem Code zum Durchführen von verschiedenen Funktionen, wie hierin beschrieben (z.B. als Software und/oder Algorithmus, die/der auf einer Prozessoreinheit ausgeführt wird, Hardware-Logik, die sich in einem Prozessor oder einem sonstigen Typ eines Logik-Chips befindet, zentralisiert in einer einzelnen integrierten Schaltung oder über verschiedene Chips in einem Datenverarbeitungssystem verteilt)) zu implementieren. Eine logische Partitionierung, die die Virtualisierung der physischen Hardware-Ressourcen enthält, wird durch den Software-/Firmware-Hypervisor 246 und 248 erleichtert. Der Hypervisor 246/248 stimmt sich mit dem VIOS 240/242 und dem Steuerpunkt 250 ab, um den Zustand und die Operationen von Hardware und Software des Server-Systems 12 einschließlich der Betriebssysteme der LPARs zu steuern und zu überwachen. Der Hypervisor 246/248 kann abhängig von der Implementierung direkt auf der Hardware des Computersystems ausgeführt werden, kann mit dem VIOS kombiniert werden oder kann innerhalb einer herkömmlichen Betriebssystemumgebung ausgeführt werden.
  • Der Steuerpunkt 250 führt eine Verwaltung des System-Servers und der LPARs im Zusammenwirken mit dem VIOS 240/242 und dem Hypervisor 246/248 durch. Der Steuerpunkt 250 oder Abschnitte davon können in einer beliebigen geeigneten Weise mithilfe bekannter Techniken implementiert werden, die auf Hardware beruhen, auf Software beruhen oder auf einer Kombination von beiden beruhen können. Beispielsweise kann der Steuerpunkt 250 Software, Logik und/oder ausführbaren Code zum Durchführen von verschiedenen Funktionen, wie hierin beschrieben (z.B. als Software und/oder Algorithmus, die/der auf einer Prozessoreinheit ausgeführt wird, Hardware-Logik, die sich in einem Prozessor oder einem sonstigen Typ eines Logik-Chips befindet, zentralisiert in einer einzelnen integrierten Schaltung oder über verschiedene Chips in einem Datenverarbeitungssystem verteilt), aufweisen. Bei einer alternativen Ausführungsform können die Abschnitte des Steuerpunkt-Betriebssystems 215, die LPAR-Profile verwalten, LPAR-Operationen (d.h., Aktivieren, Deaktivieren, Aktualisieren) und eine Inventarvalidierung durchführen, in das Betriebssystem des VIOS 240/242 integriert sein. Operationen zur Inventarvalidierung, Konfigurationsprofilverwaltung und LPAR-Migration können von dem VIOS 240/242 und/oder dem Steuerpunkt 250 aus durchgeführt werden. Beispielsweise kann bei einigen Ausführungsformen die Anzeige 24 des Steuerpunktes 250 dazu verwendet werden, zur Auswahl durch den Benutzer/Administrator verschiedene Daten eines Konfigurationsprofils 205 und eines Validierungsinventars 210 anzuzeigen, die zur Auswahl für ein Mobilitätsereignis verfügbar sein können. Die ausgewählten Informationen können von dem Steuerpunkt 250 zu der VIOS-LPAR 240 und/oder 242 übertragen werden.
  • Der Steuerpunkt 250 enthält ein Repository von Konfigurationsprofilen 205. Jeder LPAR ist zumindest ein Profil zugehörig, das neben sonstigen Parametern den Abschnitt der Hardware-Ressourcen des System-Servers 12, die der LPAR zugeordnet sind, eine Prioritätsangabe für ein Empfangen von überschüssigen System-Ressourcen und eine Betriebssystemumgebung definiert. Das Konfigurationsprofil 205 enthält die Konfiguration der virtuellen und physischen E/A-Einheiten der LPAR. Der Steuerpunkt 250 enthält ein Validierungsinventar-Repository 210. Jeder LPAR ist ein Validierungsinventar in dem Validierungsinventar-Repository 210 zugehörig. Das Validierungsinventar der LPAR kann eine eindeutige LPAR-Kennung, Quell- und Ziel-Server-Systeme von Mobilitätsereignissen, die Ressourcen der LPAR gemäß dem Konfigurationsprofil 205 der LPAR und eine Angabe enthalten, ob für den vorhergehenden Versuch eines Mobilitätsereignisses die Validierung vor der Migration bestanden worden oder fehlgeschlagen ist. Das Validierungsinventar-Repository 210 kann in dem Steuerpunkt 250 zwischengespeichert werden. Als Teil des Prozesses zum Aktivieren einer LPAR sucht der Steuerpunkt 250 in dem Validierungsinventar-Repository 210 das Validierungsinventar aus der vorherigen Validierung der LPAR und sendet es an den VIOS 240/242 auf dem Server-System, in dem die LPAR definiert ist. Der VIOS 240/242 überwacht die LPAR auf Konfigurationsänderungen, die dazu führen können, dass das Validierungsinventar für ungültig erklärt wird, wodurch eine vollständige Validierung vor einem nachfolgenden Mobilitätsereignis erforderlich ist. Der Steuerpunkt 250 kann eine oder mehrere Maßnahmen ergreifen, um auf eine Benachrichtigung über eine Ungültigkeit des Validierungsinventars der LPAR von dem VIOS 240/242 zu reagieren. Beispielsweise kann der Steuerpunkt 250 feststellen, dass bei dem nächsten Mobilitätsereignis eine vollständige Validierung für die LPAR erforderlich ist. Bei einer weiteren Ausführungsform kann der Steuerpunkt 250 vor dem nächsten Mobilitätsereignis beim Empfangen der Benachrichtigung eine vollständige Validierung initiieren und die Ergebnisse zwischenspeichern. Bei einer weiteren Ausführungsform kann der Steuerpunkt 250 eine Teilvalidierung für die neu modifizierte, hinzugefügte oder entfernte Ressource initiieren. Wie dargestellt, verwaltet derselbe Steuerpunkt 250 sowohl das Quell- als auch das Ziel-Server-System 12. Jedoch können verschiedene Steuerpunkte 250 das Quell- und das Ziel-Server-System 12 verwalten, beispielsweise wenn das Quell- und das Ziel-Server-System 12 geographisch voneinander getrennt sind.
  • Bei der in 2 veranschaulichten Ausführungsform migriert die LPAR 222 von dem Quell-Server-System 12 zu dem Ziel-Server-System 12. Auf dem Ziel-Server-System 12 ist keine LPAR 288 vorhanden, wird jedoch als Teil der Migration dynamisch erstellt. Wenngleich eine Migration durchgeführt werden kann, während keine LPAR aktiv ist, gelten die verschiedenen Ausführungsformen hierin im Besonderen für ein Migrieren von Arbeitsprozessen, die ausgeführt werden. LPARs können zwischen verschiedenen Hardware-Plattformen migriert werden, und mehrere LPARs können der Reihe nach oder gleichzeitig migriert werden. Die Übertragung oder Migration der LPAR 222 von dem Quell-Server-System 12 zu dem Ziel-Server-System 12 wird durch den Steuerpunkt 250 im Zusammenwirken mit den Hypervisoren 246 und 248 koordiniert, und wobei die VIOS 240 und 242 als Agenten fungieren.
  • Die Konfiguration für eine Migrationsumgebung enthält zumindest einen physischen HBA, der in jedem des Quell- und Ziel-VIOS 240/242 konfiguriert ist. Diese physischen HBAs sind dazu konfiguriert, auf dieselben Nummern von logischen Einheiten (logical unit numbers, LUNs), d.h., physischen Plattendatenträgern, in dem externen Speicherteilsystem 15 zuzugreifen, das mit dem SAN 268 verbunden ist. Jedem physischen HBA sind ein oder mehrere virtuelle Fibre-Channel(VFC)-Adapter in jedem VIOS 240/242 zugehörig. Die LPAR 222 ist mit einem oder mehreren VFC-Adaptern von dem VIOS 240 konfiguriert. Während des Mobilitätsereignisses werden ein oder mehrere zusätzliche VFC-Adapter auf der Ziel-LPAR 288 erstellt. Während der Migration werden die Speicherseiten der LPAR 222 asynchron von dem Quellsystem-Server 12 auf den Zielsystem-Server 12 kopiert, und die LPARs 222 und 288 erhalten einen ununterbrochenen Zugriff auf Anwendungen aufrecht, die ausgeführt werden.
  • Die VFC-Adapter können eine N_Port-ID-Virtualization(NPIV)-Technologie implementieren. Ein VFC-Adapter, der eine NPIV-Technologie implementiert, kann auch als NPIV-Adapter bezeichnet werden. Eine NPIV ermöglicht einem einzelnen HBA, der in der NPIV auch als N_Port bezeichnet wird, mehrere weltweite Port-Namen (WWPNs) und N_Port-Kennungen zu registrieren. Ein WWPN kennzeichnet einen Endpunkt in einem SAN eindeutig. Jedem VFC-Adapter ist ein Paar von WWPNs zum Zugreifen auf die LUNs der LPAR in dem externen Speicherteilsystem 15 zugeordnet. Während des Mobilitätsereignisses verwendet die migrierende LPAR 222 einen WWPN für eine Verbindung durch den VIOS 240 und eine für die Verbindung durch den VIOS 242. Während der Migration ist die LPAR 222 für kurze Zeit sowohl auf dem Quell- als auch auf dem Ziel-Server-System 12 aktiv, während die Speicherseiten der LPAR 222 übertragen werden. Daher erhält das Paar von WWPNs die eindeutige Endpunktidentität aufrecht, wie durch Verbindungen mit einem SAN 268 benötigt.
  • Der VIOS 240 kann das Mobilitätsereignis ohne Validierung fortsetzen, wenn das Validierungsinventar der LPAR als bestanden markiert ist und sich seit der Aktivierung der LPAR nicht geändert hat. Daher können unnötige Validierungsüberprüfungen vermieden werden, wodurch die Migrationsdauer verringert wird. Der Quell- und der Ziel-VIOS 240 und 242 tauschen durch die Dienstprozessoren 260/262 Daten über das öffentliche Netzwerk 252 und/oder das private Netzwerk 254 miteinander aus. Der Steuerpunkt 250 erstellt die Ziel-LPAR 288 auf dem Ziel-Server-System 12 mithilfe sowohl der Inhalte des Validierungsinventars von der LPAR 288 als auch des Konfigurationsprofils 205. Der Quell-Hypervisor 246 sendet die Speicherseiten von der Quell-LPAR 222 und verfolgt diese, wodurch der migrierenden LPAR 222 ermöglicht wird, während des Mobilitätsereignisses weiterhin ausgeführt zu werden.
  • Unter Bezugnahme auf 5 wird ein System zum Durchführen einer Frame-übergreifenden Live-Aktualisierung gemäß einer oder mehreren Ausführungsformen dargestellt. Wie in 5 dargestellt, enthält ein erster Server (Server1) eine erste virtuelle Maschine (VM1) und eine zweite virtuelle Maschine (VM2). Die VM1 führt aktuell einen Arbeitsprozess und einen ursprünglichen Kernel aus, und die VM2 führt ebenfalls einen Arbeitsprozess und einen ursprünglichen Kernel aus. Ebenfalls mit der VM1 verbunden, ist eine Hypervisor-Tabelle der VM1 in dem Server gespeichert, wie dargestellt. Es versteht sich, dass eine beliebige Anzahl von VMs auf dem Server1 ausgeführt werden kann und durch das in 5 dargestellte Beispiel nicht beschränkt wird.
  • In diesem veranschaulichenden Beispiel enthält ein zweiter Server (Server2) eine VM3, die ebenfalls einen Arbeitsprozess und einen ursprünglichen Kernel ausführt. Der Server2 kann als Ziel oder Bestimmungsort für die Migration ausgewählt werden. Die Migration kann eine permanente Migration oder eine temporäre Migration enthalten.
  • Wie in 6 dargestellt, hat der Migrationsprozess begonnen und ist die ursprüngliche HPT der VM1 auf dem Server2 gespeichert. Wenn eine temporäre Migration durchgeführt wird, behält der Server1 den Zustand der HPT bei, wird der MSP-Zustand beibehalten und wird der OS/VM-Zustand beibehalten. Wenn demgegenüber eine permanente Migration durchgeführt wird, werden die Zustände durch den Server1 nicht beibehalten. Herkömmliche Techniken löschen die Zustandsinformationen auf der Quellseite/Host-Seite nach der Migration, um die Ressourcen freizumachen und freizugeben.
  • Für die temporäre Migration wird die HPT der VM1 in dem Server2 dazu konfiguriert, Änderungen zu verfolgen, die während des Migrationsprozesses auftreten. Ein Bit wird dazu verwendet anzugeben, welche Änderungen aufgetreten sind. Das Modifikation-nach-Migration-Bit wird in der HPT auf dem Server2 (Hypervisor-Seitentabelle der VM1 (ursprünglich auf dem Server2)) beibehalten. Bei einer oder mehreren Ausführungsformen der Erfindung werden die MAM-Bits für diejenigen Einträge auf „1“ gesetzt, die aufgrund der LPM modifiziert worden sind.
  • 7 stellt den Ziel-Server2 dar, der die Ersatz-LPAR, -HPT, und den aktualisierten Kernel enthält, die sich auf dem Server2 befinden. Nachdem die Migration abgeschlossen worden ist, wird der Arbeitsprozess zu der Ersatz-HPT (VM1-Ersatzknoten) übertragen und wird der Kernel aktualisiert. Ähnlich wie die HPT des Originals verfolgt auch die Ersatz-HPT die Änderungen an den Speicherseiten während der Kernel-Aktualisierung mithilfe des MAM-Bits.
  • Nachdem die Aktualisierung abgeschlossen ist, wird die HPT der Ersatz-LPAR durchsucht, um diejenigen Seiten zu erkennen, die sich während der Migration und der Kernel-Aktualisierung geändert haben. Diese Seiten werden für den Rückmigrationsprozess zu dem Server1 vorbereitet und mit den beibehaltenen Zustandsdaten der ursprünglichen LPAR kombiniert, um eine vollständige Instanz der LPAR bereitzustellen. Bei einer oder mehreren Ausführungsformen der Erfindung werden nur die Änderungen zu der Quelle zurückübertragen, was erhebliche Zeitersparnisse während des Prozesses bietet. Bei der Implementierung des Prozesses ist zu beachten, dass keine Unterbrechung der auf der VM1, VM2 oder VM3 ausgeführten Prozesse stattfindet.
  • Unter Bezugnahme auf 8 wird eine Tabelle 800 dargestellt, die die MAM-Bits gemäß einer oder mehreren Ausführungsformen der Erfindung speichert. Wie in den obigen Beispielen erörtert, werden die MAM-Bits in den Hypervisor-Seitentabellen des ursprünglichen und des Ersatzknotens des Server2 gespeichert. 8 stellt eine erste Hypervisor-Tabelle 810 dar, die in der HPT der VM1 auf dem Server1 gespeichert ist. Die HPT der VM1 ist in dem Server1 gespeichert und ordnet die logischen Adressen (LP) den physischen Adressen (PP) zu. 8 stellt darüber hinaus eine zweite Hypervisor-Tabelle 820 dar, die eine Kopie der HPT der VM1 enthält und in dem Server2 gespeichert ist. Bei einer oder mehreren Ausführungsformen der Erfindung werden die MAM-Bits für diejenigen Seiten auf 1 gesetzt, die während der LPM modifiziert worden sind. 8 stellt eine dritte Hypervisor-Tabelle 830 dar, die eine HPT der VM1 (Ersatz) enthält, die in dem Server2 gespeichert ist. Bei einer oder mehreren Ausführungsformen der Erfindung werden die MAM-Bits für diejenigen auf 1 gesetzt, die aufgrund der Live-Aktualisierung (LU) modifiziert worden sind.
  • Unter Bezugnahme auf 9 werden der Server1 und der Server2 nach einem Durchführen der Rückmigration für die temporäre Migration dargestellt. Während des Rückmigrationsprozesses wird die HPT des Server2 analysiert, und diejenigen Seiten, die während des Migrations- und Aktualisierungsprozesses modifiziert worden sind, werden erkannt und zu dem Quell-Serverl übertragen. Die modifizierten Seiten von dem Server2 werden mit den Seiten kombiniert, die in dem Quell-Server1 beibehalten werden, um eine vollständige Instanz der aktualisierten LPAR bereitzustellen. Wie dargestellt, hat der Server2 die Ressourcen freigegeben, die dazu verwendet worden sind, die Aktualisierungen für die temporäre Migration zu verfolgen. Während des Migrationsprozesses bleibt jede der VMs online, so dass keine Ausfallzeit stattfindet.
  • Unter Bezugnahme auf 10 wird ein Ablaufplan eines Verfahrens 1000 zum Durchführen einer Migration gemäß einer oder mehreren Ausführungsformen der Erfindung bereitgestellt. Das Verfahren 1000 beginnt bei Block 1002 und geht zu Block 1004 über, der ein Ermitteln eines Migrationstyps für eine Live-Migration bereitstellt, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist. Bei einer oder mehreren Ausführungsformen der Erfindung initiiert das Betriebssystem eine Live-Migration einer Partition. Der Mobilitätsprozess überträgt die Systemumgebung, die den Prozessorzustand, den Speicher, zugeordnete virtuelle Einheiten und verbundene Benutzer enthält, zu einer weiteren Partition oder einem weiteren Server.
  • Als Nächstes gibt das Betriebssystem an, ob es sich bei der Migration um eine temporäre Migration oder um eine permanente Migration handelt. Wenn ermittelt wird, dass es sich bei der Migration um eine temporäre Migration handelt, behält der Quell-Server den Zustand bei. Wenn ermittelt wird, dass es sich bei der Migration um eine permanente Migration handelt, macht der Quell-Server die Zustandsinformationen ungültig und gibt die Ressourcen bei der Migration frei. Es versteht sich, dass sonstige Typen in Betracht gezogen werden können, die sich innerhalb des Umfangs der Erfindung befinden.
  • Der Quell-Hypervisor/die MSP ermittelt, dass der Migrationstyp temporär ist. Der Quell-Hypervisor/die MSP informiert den Hypervisor/die MSP auf der Seite des Bestimmungsortes darüber, dass es sich bei dem Migrationstyp um eine Migration vom temporären Typ handelt.
  • Block 1006 führt die Live-Migration von dem Quell-Server zu dem Ziel-Server durch, und Block 1008 behält die Seiten bei, die auf Grundlage des Migrationstyps zu migrieren sind. Bei einer oder mehreren Ausführungsformen der Erfindung wird die Hypervisor-Seitentabelle für die migrierte virtuelle Maschine oder den virtuellen Server zur Nutzung freigegeben, wenn es sich bei dem Migrationstyp um einen permanenten Migrationstyp handelt. Wenn es sich bei dem Migrationstyp um einen temporären Migrationstyp handelt, bei dem der virtuelle Server oder die virtuelle Maschine zu dem Quell-Server zurückmigriert wird, werden die Seitentabelle und die Zustandsinformationen des Hypervisors beibehalten. Mit anderen Worten, die Seitentabelle und die Zustandsinformationen werden gespeichert und werden während des Rückmigrationsprozesses verwendet.
  • Block 1010 verfolgt Modifizierungen in einer Hypervisor-Seitentabelle. Bei einer oder mehreren Ausführungsformen der Erfindung wird eine Kopie der ursprünglichen Hypervisor-Seitentabelle in dem Zielserver gespeichert. Diese Hypervisor-Seitentabelle enthält ein zusätzliches Bit (MAM-Bit), um genutzte Seiten oder Seiten, die während des Migrationsprozesses aktualisiert worden sind, zu verfolgen. Der Server behält eine Kopie der Seiten bei, wie sie in einer ursprünglichen Hypervisor-Seitentabelle empfangen werden. Die ursprüngliche Hypervisor-Seitentabelle verfolgt die modifizierten Seiten während der Migration.
  • Nachdem der Migrationsprozess abgeschlossen ist, wird eine Ersatz-LPAR dazu verwendet, Aktualisierungen für den Kernel-Aktualisierungsprozess zu speichern. Während der Kernel-Aktualisierung wird eine Ersatzseitentabelle verwendet, um Änderungen während der LKU zu verfolgen. Ähnlich wie die ursprüngliche HPT verwendet die Ersatzseitentabelle die MAM, um die Seiten zu verfolgen, die während der LKU geändert worden sind.
  • Block 1012 führt eine Rückmigration auf Grundlage des Migrationstyps durch. Bei einer oder mehreren Ausführungsformen der Erfindung wird eine Rückmigration durchgeführt, wenn es sich bei dem Migrationstyp um eine temporäre Migration handelt. Nur die Seiten, die während des Live-Migrationsprozesses und des Live-Aktualisierungsprozesses modifiziert worden sind, werden zurück an den Quell-Server übertragen. Mit anderen Worten, diejenigen Seiten, die durch das MAM-Bit in der Hypervisor-Seitentabelle als aktualisiert angegeben werden, werden zurück an den Quell-Server gesendet. Dies verbessert die Gesamtmigrationsdauer, da nicht mehr sämtliche Seiten, unabhängig davon, ob sie aktualisiert worden sind, zurück an die Quelle übertragen werden müssen, um die temporäre Migration abzuschließen.
  • Nach dem Durchführen der LKU ist die Ersatz-HPT für die Rückmigration bereit. Ein Prozessor erstellt eine Liste von Seiten, die zu migrieren sind, indem er nur diejenigen Seiten hinzufügt, für die das MAM-Bit gesetzt ist. Die LPM-Rückmigration an den Server1 überträgt nur die modifizierten Seiten. Bei einer oder mehreren Ausführungsformen der Erfindung werden die modifizierten Seiten, die durch das MAM-Bit angegeben werden, mit den beibehaltenen Seiten verschmolzen, um den Migrationsprozess abzuschließen. In Block 1014 endet das Verfahren 1000. Es versteht sich, dass das Verfahren 1000 nicht auf die in 10 angezeigten Schritte beschränkt ist, sondern dass eine andere Reihenfolge oder andere Schritte verwendet werden kann/können.
  • Die hierin beschriebenen Techniken verbessern die Live-Migration durch Beibehalten des Seitenspeichers, Verfolgen der Änderungen des Speichers und Übertragen nur der geänderten Seiten an den Hypervisor, um die temporäre Migration abzuschließen.
  • Zu den technischen Wirkungen und Vorteilen zählt ein Verbessern der Gesamtdauer der Live-Aktualisierungsoperation durch Verringern der LPM-Dauer. Der Hypervisor und die MSP (mover service partition) übertragen nur die Seite, die modifiziert worden ist.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen Integrationsgrad technischer Details handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen 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 materielle Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatten-Festwertspeicher (CD-ROM), eine DVD (digital versatile disc), 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 daraus. So, wie dieser Begriff hierin verwendet wird, ist ein durch einen Computer lesbares Speichermedium nicht als per se transitorische Signale auszulegen, wie zum Beispiel Funkwellen oder sonstige sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder sonstige Übertragungsmedien ausbreiten (z.B. Lichtimpulse, die ein Lichtwellenleiterkabel durchlaufen) oder elektrische Signale, die durch eine Leitung übertragen werden.
  • 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 Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Switches, 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 werden, 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 letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Bei einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare Logik-Arrays (PLA) die durch einen Computer lesbaren Programmanweisung ausführen, indem sie Zustandsdaten der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen implementiert 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, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zum Implementieren der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubildes festgelegten 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, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts implementieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in sonstige programmierbare Datenverarbeitungsvorrichtungen oder in sonstige Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf einer sonstigen programmierbaren Vorrichtung oder auf einer sonstigen Einheit eine Reihe von Arbeitsschritten ausgeführt wird, um einen durch einen Computer implementierten Prozess zu erzeugen, so dass die Anweisungen, die auf dem Computer, auf einer sonstigen programmierbaren Vorrichtung oder auf einer sonstigen Einheit ausgeführt werden, die in einem Block bzw. in den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Aktionen implementieren.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Implementieren der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Implementierungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander dargestellte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können bisweilen je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle auf Hardware beruhende Systeme implementiert werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zur Veranschaulichung, sind jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt gemeint. Viele Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang und Wesensgehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien am besten zu erläutern oder um anderen Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.

Claims (16)

  1. Auf einem Computer implementiertes Verfahren zum Durchführen einer Live-Aktualisierung, wobei das Verfahren aufweist: Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist; Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server; Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps; Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle; und Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  2. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das des Weiteren ein Verfolgen von Modifizierungen während der Live-Migration in einer Hypervisor-Tabelle des Ziel-Servers aufweist.
  3. Auf einem Computer implementiertes Verfahren nach Anspruch 2, das des Weiteren ein Verfolgen von Modifizierungen, die in einer zweiten Hypervisor-Tabelle des Ziel-Servers auftreten, nachdem die Live-Migration abgeschlossen ist, aufweist.
  4. Auf einem Computer implementiertes Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren ein Ermitteln aufweist, ob es sich bei dem Migrationstyp um eine permanente Migration oder um eine temporäre Migration handelt.
  5. Auf einem Computer implementiertes Verfahren nach Anspruch 4, das als Reaktion auf das Ermitteln, dass es sich bei dem Migrationstyp um eine permanente Migration handelt, Seitenspeicher des Quell-Servers freigibt, der der permanenten Migration zugehörig ist.
  6. Auf einem Computer implementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfolgen der Modifizierungen ein Verwenden des Modifizierung-nach-Migration(MAM)-Bits aufweist, um Seiten anzugeben, die modifiziert worden sind.
  7. Auf einem Computer implementiertes Verfahren nach Anspruch 6, wobei die Rückmigration nur Änderungen in der Hypervisor-Tabelle überträgt, die durch das MAM-Bit angegeben werden, wobei die Änderungen mit den Seiten kombiniert werden, die in dem Quell-Server beibehalten werden.
  8. System zum Durchführen von Live-Aktualisierungen, wobei das System aufweist: einen oder mehrere Prozessoren; und zumindest einen Speicher, der mit dem einen oder den mehreren Prozessoren verbunden ist, wobei der eine oder die mehreren Prozessoren konfiguriert sind zu einem: Ermitteln eines Migrationstyps für eine Live-Migration, die von einem Quell-Server zu einem Ziel-Server durchzuführen ist; Durchführen der Live-Migration von dem Quell-Server zu dem Ziel-Server; Beibehalten von zu migrierenden Seiten auf Grundlage des Migrationstyps; Verfolgen von Modifizierungen in einer Hypervisor-Seitentabelle; und Durchführen einer Rückmigration auf Grundlage des Migrationstyps.
  9. System nach Anspruch 8, wobei der eine oder die mehreren Prozessoren konfiguriert sind zu einem Verfolgen von Modifizierungen während der Live-Migration in einer Hypervisor-Tabelle des Ziel-Servers.
  10. System nach Anspruch 9, wobei der eine oder die mehreren Prozessoren konfiguriert sind zu einem Verfolgen von Modifizierungen, die in einer zweiten Hypervisor-Tabelle des Ziel-Servers auftreten, nachdem die Live-Migration abgeschlossen ist.
  11. System nach einem der Ansprüche 8 bis 10, wobei der eine oder die mehreren Prozessoren konfiguriert sind zu einem Ermitteln, ob es sich bei dem Migrationstyp um eine permanente Migration oder um eine temporäre Migration handelt.
  12. System nach Anspruch 11, wobei als Reaktion auf das Ermitteln, dass es sich bei dem Migrationstyp um eine permanente Migration handelt, der eine oder die mehreren Prozessoren konfiguriert sind zu einem Freigeben von Seitenspeicher des Quell-Servers, der der permanenten Migration zugehörig ist.
  13. System nach einem der Ansprüche 8 bis 12, wobei das Verfolgen der Modifizierungen das Modifizierung-nach-Migration(MAM)-Bit verwendet, um Seiten anzugeben, die modifiziert worden sind.
  14. System nach Anspruch 13, wobei die Rückmigration nur Änderungen in der Hypervisor-Tabelle überträgt, die durch das MAM-Bit angegeben werden, wobei die Änderungen mit den Seiten kombiniert werden, die in dem Quell-Server beibehalten werden.
  15. Computerprogrammprodukt zum Durchführen einer Live-Aktualisierung, wobei das Computerprogrammprodukt aufweist: ein durch einen Computer lesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und das Anweisungen zur Ausführung durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 7 speichert.
  16. In einem durch einen Computer lesbaren Medium gespeichertes und in den internen Speicher eines Digitalcomputers ladbares Computerprogramm, das Abschnitte eines Software-Codes aufweist, um das Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
DE112020004522.6T 2019-09-25 2020-09-23 Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen Pending DE112020004522T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/581,883 2019-09-25
US16/581,883 US11340938B2 (en) 2019-09-25 2019-09-25 Increasing the performance of cross the frame live updates
PCT/IB2020/058880 WO2021059153A1 (en) 2019-09-25 2020-09-23 Increasing performance of cross frame live updates

Publications (1)

Publication Number Publication Date
DE112020004522T5 true DE112020004522T5 (de) 2022-07-07

Family

ID=74881885

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004522.6T Pending DE112020004522T5 (de) 2019-09-25 2020-09-23 Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen

Country Status (8)

Country Link
US (1) US11340938B2 (de)
JP (1) JP7491650B2 (de)
KR (1) KR20220035933A (de)
CN (1) CN114424180A (de)
AU (1) AU2020351839B2 (de)
DE (1) DE112020004522T5 (de)
GB (1) GB2602768B (de)
WO (1) WO2021059153A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364806B (zh) * 2021-06-30 2023-04-07 深圳前海微众银行股份有限公司 一种服务接口迁移的校验方法及装置
US11586371B2 (en) * 2021-07-23 2023-02-21 Vmware, Inc. Prepopulating page tables for memory of workloads during live migrations
US20230036054A1 (en) * 2021-07-29 2023-02-02 International Business Machines Corporation Memory migration within a multi-host data processing environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019962B2 (en) 2007-04-16 2011-09-13 International Business Machines Corporation System and method for tracking the memory state of a migrating logical partition
JP5363379B2 (ja) * 2009-05-20 2013-12-11 ルネサスエレクトロニクス株式会社 通信システム
CN101819545B (zh) 2010-04-09 2012-07-25 济南银泉科技有限公司 一种利用虚拟化技术实现平台迁移的方法
JP2013080346A (ja) 2011-10-03 2013-05-02 Daiwa Securities Group Inc 情報処理装置、保守作業支援方法および保守作業支援用プログラム
US9183035B2 (en) * 2013-11-08 2015-11-10 International Business Machines Corporation Virtual machine migration with swap pages
US9727374B2 (en) 2015-04-21 2017-08-08 International Business Machines Corporation Temporary virtual machine migration for improved software application warmup
US10684876B2 (en) 2015-05-14 2020-06-16 Netapp, Inc. Migration of virtual machine data using native data paths
US10540196B2 (en) 2016-07-01 2020-01-21 Intel Corporation Techniques to enable live migration of virtual environments
US10635420B2 (en) 2016-07-12 2020-04-28 Oracle International Corporation Overriding a migrated method in an updated type
US10691477B2 (en) 2016-09-27 2020-06-23 Red Hat Israel, Ltd. Virtual machine live migration using intelligent order of pages to transfer
US9928056B1 (en) 2016-10-10 2018-03-27 International Business Machines Corporation Operating system update management
US11392508B2 (en) * 2017-11-29 2022-07-19 Advanced Micro Devices, Inc. Lightweight address translation for page migration and duplication
US10768965B1 (en) * 2018-05-02 2020-09-08 Amazon Technologies, Inc. Reducing copy operations for a virtual machine migration
US11579909B2 (en) * 2018-07-31 2023-02-14 Vmware, Inc. Honoring resource scheduler constraints during maintenances

Also Published As

Publication number Publication date
AU2020351839A1 (en) 2022-03-17
CN114424180A (zh) 2022-04-29
US11340938B2 (en) 2022-05-24
WO2021059153A1 (en) 2021-04-01
GB2602768A (en) 2022-07-13
GB202204969D0 (en) 2022-05-18
AU2020351839B2 (en) 2023-11-09
US20210089347A1 (en) 2021-03-25
JP7491650B2 (ja) 2024-05-28
GB2602768B (en) 2022-12-14
JP2022550280A (ja) 2022-12-01
KR20220035933A (ko) 2022-03-22

Similar Documents

Publication Publication Date Title
DE112020000558B4 (de) Dynamisches ändern einer isolierung einer containerisierten arbeitslast in reaktion auf eine erfassung eines auslösenden faktors
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112016006080B4 (de) Verwaltung von virtuellen desktopinstanzenpools
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112020004522T5 (de) Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE112013003225T5 (de) Sicherer Zugriff auf gemeinsam genutzte Speicher-Ressourcen
DE112020004699T5 (de) Schützen von arbeitslasten in kubernetes
DE112022003720T5 (de) Verwenden eines fernen pods in kubernetes
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE112020000303T5 (de) Testen von speicherschutz-hardware in einer umgebung einer sicheren virtuellen maschine
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE102016222861A1 (de) Transparentes, sicheres Durchführen von Abrufvorgängen
DE112020004840B4 (de) Speicherbereinigung in datenspeichersystemen
DE112020000289T5 (de) Abfrage und überlassung von sicherem speicher
DE112020000223T5 (de) Gemeinsame speichernutzung zwischen einer sicheren domäne und einer nicht sicheren entität
DE112020000280T5 (de) Transparente interpretation von gastbefehlen in einer sicheren virtuellen maschinenumgebung
DE112021001408T5 (de) Verwendung kohärent verbundener schnittstellen in einem netzwerkstapelrahmen
DE112020000285T5 (de) Programmunterbrechungen für Seiten-Import/-Export
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112022002615T5 (de) Kontinuierliche funktionsfähigkeit und integrität von anwendungen während eines migrationsvorgangs
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
DE102021130358A1 (de) E/a-operationen in log-strukturierten arrays
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten

Legal Events

Date Code Title Description
R012 Request for examination validly filed