DE112012003808T5 - Determine the migration of the network adapter hardware health in a healthful environment - Google Patents

Determine the migration of the network adapter hardware health in a healthful environment Download PDF

Info

Publication number
DE112012003808T5
DE112012003808T5 DE112012003808.8T DE112012003808T DE112012003808T5 DE 112012003808 T5 DE112012003808 T5 DE 112012003808T5 DE 112012003808 T DE112012003808 T DE 112012003808T DE 112012003808 T5 DE112012003808 T5 DE 112012003808T5
Authority
DE
Germany
Prior art keywords
network adapter
virtual machine
network
format
detecting
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.)
Ceased
Application number
DE112012003808.8T
Other languages
German (de)
Inventor
c/o IBM Corp. Jain Vinit
c/o IBM Corp. Sharma Rakesh
c/o IBM Corp. Recio Renato J.
c/o IBM Corp. Cardona Omar
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 DE112012003808T5 publication Critical patent/DE112012003808T5/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Es wird ein Ansatz bereitgestellt, bei dem ein Ermittlungssystem eine Migrationsanforderung empfängt, um eine virtuelle Maschine zu verlagern, die auf einem ersten System ausgeführt wird. Das Ermittlungssystem erkennt einen ersten Netzwerkadapter, der dem ersten System entspricht, und erkennt Hardwarezustandsdaten, die durch den ersten Netzwerkadapter verwendet werden, um Datenpakete zu verarbeiten, die durch die erste virtuelle Maschine erzeugt wurden. Daraufhin erkennt das Ermittlungssystem einen zweiten Netzwerkadapter, der mit einem systemeigenen Format der Hardwarezustandsdaten kompatibel ist, und migriert die erste virtuelle Maschine auf ein zweites System, das dem erkannten zweiten Netzwerkadapter entspricht.An approach is provided in which a discovery system receives a migration request to relocate a virtual machine running on a first system. The discovery system detects a first network adapter that corresponds to the first system and detects hardware state data that is used by the first network adapter to process data packets generated by the first virtual machine. The discovery system then detects a second network adapter that is compatible with a native format of the hardware health data and migrates the first virtual machine to a second system that corresponds to the discovered second network adapter.

Description

HINTERGRUNDBACKGROUND

Die vorliegende Offenbarung betrifft das Erkennen von Hardwareeigenschaften eines Quell-Netzwerkadapters, der Datenpakete gemäß einem zustandsbehafteten Auslagerungsformat verarbeitet, und das anschließende Ermitteln eines gleichwertigen Ziel-Netzwerkadapters, der ein systemeigenes (natives) Format der Hardwareeigenschaften unterstützt.The present disclosure relates to detecting hardware properties of a source network adapter that processes data packets according to a stateful swap format, and then determining an equivalent destination network adapter that supports a native format of the hardware properties.

Moderne Netzwerkadapter für den Datenaustausch unterstützen „zustandsbehaftete” Formate für die Übertragung von Auslagerungsdaten, bei denen die Netzwerkadapter bestimmte Verarbeitungsaufgaben durchführen, um die Verarbeitungslast eines Host-Systems zu verringern. Zu typischen Auslagerungsformaten gehören Remote Direct Memory Access (RDMA), Internet Wide RDMA Protocol (WARP), Infiniband (IB) und TCP Offload Engine (TOE). Zur Unterstützung der zustandsbehafteten Auslagerungsformate beschränken die Netzwerkadapter den „Zustand” einer beliebigen vorgegebenen Verbindung einer virtuellen Maschine auf den Kontext der Instanz des Netzwerkadapters, die der virtuellen Maschine entspricht. Zu zustandsbehafteten Auslagerungsinformationen, die diesen Kontext wiedergeben, gehören Hardwarezustandsdaten, die Hardwareeigenschaften auf der Grundlage virtueller Maschinen beschreiben, wie zum Beispiel Informationen, die Verbindungen, Registern, Speicherregistrierungen, und Strukturen entsprechen, die zur Kommunikation mit der virtuellen Maschine verwendet werden (Warteschlangenpaare, Abschlusswarteschlangen), und verschiedene andere Datenstrukturen wie zum Beispiel Adressauflösungsprotokoll-Tabellen (ARP-Tabellen) (ARP = Address Resolution Protocol).Modern network adapters for data exchange support "stateful" formats for the transfer of paging data where the network adapters perform certain processing tasks to reduce the processing load of a host system. Typical swap formats include Remote Direct Memory Access (RDMA), Internet Wide RDMA Protocol (WARP), Infiniband (IB), and TCP Offload Engine (TOE). To support stateful paging formats, the network adapters limit the "state" of any given virtual machine connection to the context of the network adapter instance that corresponds to the virtual machine. Stateful paging information that reflects this context includes hardware state data that describes virtual machine-based hardware properties, such as information that corresponds to connections, registers, storage registries, and structures that are used to communicate with the virtual machine (queue pairs, completion queues) ), and various other data structures such as address resolution protocol (ARP) tables (ARP).

KURZDARSTELLUNGSUMMARY

Gemäß einer Ausführungsform der vorliegenden Offenbarung wird ein Ansatz bereitgestellt, bei dem ein Ermittlungssystem eine Migrationsanforderung empfängt, um eine virtuelle Maschine zu verlagern, die auf einem ersten System ausgeführt wird. Das Ermittlungssystem erkennt einen ersten Netzwerkadapter, der dem ersten System entspricht, und erkennt Hardwarezustandsdaten, die durch den ersten Netzwerkadapter verwendet werden, um Datenpakete zu verarbeiten, die durch die erste virtuelle Maschine erzeugt wurden. Daraufhin erkennt das Ermittlungssystem einen zweiten Netzwerkadapter, der mit einem systemeigenen Format der Hardwarezustandsdaten kompatibel ist, und migriert die erste virtuelle Maschine auf ein zweites System, das dem erkannten zweiten Netzwerkadapter entspricht.According to one embodiment of the present disclosure, an approach is provided wherein a discovery system receives a migration request to relocate a virtual machine running on a first system. The discovery system detects a first network adapter corresponding to the first system and detects hardware state data used by the first network adapter to process data packets generated by the first virtual machine. The discovery system then detects a second network adapter that is compatible with a native format of the hardware state data and migrates the first virtual machine to a second system that corresponds to the detected second network adapter.

Das Vorstehende ist eine Zusammenfassung und enthält daher notwendigerweise Vereinfachungen, Verallgemeinerungen und Auslassungen in Bezug auf Details; infolgedessen wird für den Fachmann klar sein, dass die Zusammenfassung lediglich zur Veranschaulichung dient und in keiner Weise eine Einschränkung darstellt. Weitere Aspekte, erfindungsgemäße Merkmale und Vorteile der vorliegenden Offenbarung, die ausschließlich in den Ansprüchen definiert sind, werden anhand der folgenden ausführlichen Beschreibung klar, die keinen einschränkenden Charakter trägt.The foregoing is a summary and therefore necessarily includes simplifications, generalizations, and omissions with respect to details; As a result, it will be apparent to those skilled in the art that the summary is illustrative only and not in any way limiting. Other aspects, features and advantages of the present disclosure, which are defined solely in the claims, will become apparent from the following detailed description, which is not restrictive in nature.

KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN IN DEN ZEICHNUNGENBRIEF DESCRIPTION OF THE VARIOUS VIEWS IN THE DRAWINGS

Die vorliegende Offenbarung wird leichter verständlich, und die zahlreichen Aufgaben, Merkmale und Vorteile der Erfindung werden dem Fachmann durch Bezugnahme auf die beigefügten Zeichnungen deutlich, wobei:The present disclosure will be more readily understood, and the numerous objects, features, and advantages of the invention will become apparent to those skilled in the art by reference to the accompanying drawings, in which:

1 ein beispielhaftes Schema ist, das einen Migrationsagenten zeigt, der eine logische Partition, zu der eine virtuelle Maschine und systemeigene Zustandsdaten der Netzwerkadapterhardware gehören, von einem Quellsystem auf ein Zielsystem migriert; 1 an exemplary scheme showing a migration agent that migrates a logical partition that includes a virtual machine and native state data of the network adapter hardware from a source system to a destination system;

2 ein beispielhaftes Schema ist, das eine grafische Darstellung des Ermittelns eines geeigneten Zielsystems zeigt; 2 an exemplary diagram showing a graphical representation of determining an appropriate target system;

3 eine beispielhafte Kandidatentabelle ist, die Tabelleneinträge mit Host-Eigenschaften und entsprechenden Netzwerkadaptereigenschaften aufweist; 3 an exemplary candidate table that has table entries with host properties and corresponding network adapter properties;

4 ein beispielhafter Ablaufplan ist, der die Schritte zeigt, die beim Ermitteln eines Zielsystems und Migrieren einer virtuellen Maschine auf das Zielsystem unternommen werden; 4 Fig. 10 is an exemplary flowchart showing the steps taken in determining a target system and migrating a virtual machine to the target system;

5 ein beispielhafter Ablaufplan ist, der die Schritte zeigt, die beim Ermitteln eines geeigneten Zielsystems unternommen werden, das einen kompatiblen Host und einen im Vergleich zu einem Quellsystem gleichwertigen Netzwerkadapter aufweist; 5 Figure 10 is an exemplary flowchart showing the steps involved in determining an appropriate target system having a compatible host and a network adapter equivalent to a source system;

6 ein beispielhafter Ablaufplan ist, der die Schritte zeigt, die in einem Host-System unternommen werden, das eine virtuelle Maschine zur Migration vorbereitet; 6 an exemplary flowchart showing the steps taken in a host system preparing a virtual machine for migration;

7 ein beispielhafter Ablaufplan ist, der die Schritte zeigt, die beim Migrieren einer logischen Partition von einem Quellsystem auf ein Zielsystem unternommen werden; 7 Figure 10 is an exemplary flowchart showing the steps taken when migrating a logical partition from a source system to a destination system;

8 ein beispielhaftes Schema ist, das einen Netzwerkadapter zeigt, der Hardwarezustandsdaten von Modulen überwacht und speichert, die auf einer virtuellen Maschine ausgeführt werden; 8th Fig. 10 is an exemplary diagram showing a network adapter monitoring and storing hardware state data of modules executing on a virtual machine;

9 ein beispielhaftes Schema ist, das die Migration von Hardwarezustandsdaten von einem Quell-Netzwerkadapter auf einen Ziel-Netzwerkadapter zeigt; 9 an exemplary scheme showing the migration of hardware state data from a source network adapter to a destination network adapter;

10 ein beispielhaftes Schema ist, das einen verteilten Richtliniendienst zeigt, der auf einen Speicherbereich mit Kandidatentabellen zugreift, um ein geeignetes Zielsystem zu erkennen; 10 Fig. 10 is an exemplary diagram showing a distributed policy service accessing a candidate table storage area to identify a suitable destination system;

11 ein beispielhaftes Schema ist, das virtuelle Netzwerkabstraktionen zeigt, die einem physischen Netzwerkraum überlagert sind; 11 an exemplary scheme showing virtual network abstractions superimposed on a physical network space;

12 ein beispielhaftes Blockschema eines Datenverarbeitungssystems ist, in dem die hierin beschriebenen Verfahren realisiert sein können; und 12 an exemplary block diagram of a data processing system in which the methods described herein may be implemented; and

13 eine Erweiterung der in 12 gezeigten Informationsverarbeitungssystem-Umgebung bereitstellt, um zu veranschaulichen, dass die hierin beschriebenen Verfahren auf einer großen Vielfalt von Informationsverarbeitungssystemen durchgeführt werden können, die in einer vernetzten Umgebung arbeiten. 13 an extension of in 12 information processing system environment shown to illustrate that the methods described herein can be performed on a wide variety of information processing systems operating in a networked environment.

AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION

Die hierin verwendete Terminologie dient ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Offenbarung gedacht. In dem hier verwendeten Sinne schließen die Einzahlformen „ein/eine” und „der/die/das” auch die Pluralformen ein, sofern im Kontext nicht ausdrücklich etwas anderes angegeben ist. Es versteht sich des Weiteren, dass die Begriffe „weist auf” bzw. „aufweisen/aufweisend” bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten bezeichnen, jedoch das Vorhandensein oder die Hinzufügung eines bzw. einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a / a" and "the" also include plurals, unless expressly stated otherwise in the context. It should also be understood that the terms "having" or "having / having" as used in this specification refer to the presence of specified features, integers, steps, operations, elements, and / or components, but the presence or addition of a or one or more other features, integers, steps, operations, elements, components and / or groups thereof.

Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente aller Mittel bzw. Schritt-plus-Funktion-Elemente (Step plus Function Elements) in den folgenden Ansprüchen sollen alle Strukturen, Materialien oder Aktionen zur Ausführung der Funktion in Verbindung mit anderen ausdrücklich beanspruchten Elementen mit einschließen. Die Beschreibung der vorliegenden Offenbarung soll der Veranschaulichung und Beschreibung dienen, ist jedoch nicht vollständig oder auf die Offenbarung in der offenbarten Form beschränkt. Für den Fachmann sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzbereich und Gedanken der Offenbarung darstellen würden. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken und die praktische Anwendung der Offenbarung auf bestmögliche Weise zu erklären und anderen Fachleuten das Verständnis der Offenbarung für verschiedene Ausführungsformen mit verschiedenen Abänderungen für die betreffende betrachtete Verwendung zu ermöglichen.The corresponding structures, materials, actions, and equivalents of all means and step plus function elements in the following claims are intended to include all structures, materials, or acts for performing the function in conjunction with other elements expressly claimed , The description of the present disclosure is intended to be illustrative and descriptive, but is not exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations are conceivable for the person skilled in the art without these representing a departure from the scope and spirit of the disclosure. The embodiment has been chosen and described in order to best explain the principles and practice of the disclosure and to enable others skilled in the art to appreciate the disclosure for various embodiments with various modifications for the particular use contemplated.

Dem Fachmann wird klar sein, dass Aspekte der vorliegenden Offenbarung als System, Verfahren oder Computerprogrammprodukt verkörpert sein können. Dementsprechend können Aspekte der vorliegenden Offenbarung die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, in der Software- und Hardwareaspekte kombiniert sind, die im vorliegenden Dokument allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden. Ferner können Aspekte der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf denen computerlesbarer Programmcode verkörpert ist.Those skilled in the art will appreciate that aspects of the present disclosure may be embodied as a system, method, or computer program product. Accordingly, aspects of the present disclosure may take the form of a fully hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment that combines software and hardware aspects described herein generally referred to as "circuit", "module" or "system". Further, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media embodied with computer readable program code.

Es können beliebige Kombinationen eines oder mehrerer computerlesbarer Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Zu computerlesbaren Speichermedien können beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder eine beliebige geeignete Kombination des Vorstehenden gehören. Zu den genaueren Beispielen (unvollständige Liste) computerlesbarer Speichermedien zählen unter anderem folgende: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des Vorstehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das ein Programm enthalten oder speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.Any combination of one or more computer-readable media may be used. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. Computer-readable storage media may include, but are not limited to, an electronic, magnetic, optical, or electromagnetic system, or an infrared or semiconductor system or device or device, or any suitable combination of the foregoing. More specific examples (incomplete list) of computer-readable storage media include, but are not limited to, an electrical connection to one or more lines, a portable computer disk, a hard disk, Random Access Memory (RAM), Read Only Memory (ROM), an erasable programmable Read-only memory (EPROM or flash memory), an optical fiber, a compact disc (CD-ROM) portable read only memory, an optical storage unit, a magnetic storage unit, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any objectified medium that may contain or store a program that is being used by or in connection with a system, a device or unit can be used for command execution.

Ein computerlesbares Signalmedium kann unter anderem ein im Basisband oder als Teil einer Trägerwelle übertragenes Datensignal mit darin verkörpertem computerlesbarem Programmcode aufweisen. Ein derartiges übertragenes Signal kann eine beliebige Vielfalt von Formen annehmen, einschließlich, ohne darauf beschränkt zu sein, einer elektromagnetischen oder optischen Form oder einer beliebigen geeigneten Kombination davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein computerlesbares Speichermedium handelt und das ein Programm übertragen, senden oder transportieren kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.A computer readable signal medium may include, among other things, a data signal transmitted in baseband or as part of a carrier wave having computer readable program code embodied therein. Such a transmitted signal may take any of a variety of forms including, but not limited to, an electromagnetic or optical form, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may transmit, transmit, or transport a program that may be used by or in connection with an instruction execution system, apparatus, or device ,

Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes beliebigen geeigneten Mediums, einschließlich, ohne darauf beschränkt zu sein, drahtloser, drahtgebundener Medien, Lichtwellenleitern, HF usw. oder unter Verwendung einer beliebigen geeigneten Kombination des Vorstehenden übertragen werden.Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless, wired media, optical fibers, RF, etc., or using any suitable combination of the foregoing.

Computerprogrammcode zum Ausführen von Operationen bei Aspekten der vorliegenden Offenbarung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und in herkömmlichen prozeduralen Programmiersprachen wie „C” oder ähnlichen Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, 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. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN) oder über ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)).Computer program code for performing operations in aspects of the present disclosure may be written in any combination of one or more programming languages, including in an object-oriented programming language such as Java, Smalltalk, C ++, or the like, and in conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including via a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer ( for example, over the Internet using an Internet service provider (Internet Service Provider)).

Nachstehend sind Aspekte der vorliegenden Offenbarung unter Bezugnahme auf Ablaufpläne und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschemata und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschemata durch Computerprogrammanweisungen realisiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder anderen programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Realisieren der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschemas angegebenen Funktionen/Aktionen schaffen.Hereinafter, aspects of the present disclosure will be described with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It should be understood that each block of the flowcharts and / or block schemes and combinations of blocks in the flowcharts and / or block schemes may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing devices to generate a machine so that the instructions executed via the processor of the computer or other programmable data processing devices include means for realizing in a block create functions / actions specified for the blocks of the flowchart and / or the block schema.

Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die im computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis schaffen, das die Anweisungen aufweist, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschemas angegebene Funktion/Aktion realisieren.These computer program instructions may also be stored in a computer readable medium that may instruct a computer, other programmable computing devices, or other entities to function in a particular manner such that the instructions stored in the computer readable medium create a product having the instructions corresponding to those in the instructions implement a block or function / action specified in the blocks of the flowchart and / or the block diagram.

Die Computerprogrammanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder auf anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschemas angegebenen Funktionen/Aktionen bereitstellen.The computer program instructions may also be loaded into a computer, other programmable computing devices, or other devices to cause a number of operations to be performed on the computer, other programmable devices, or other devices to provide a computer-implemented process so that the instructions executed on the computer or on other programmable devices provide processes for realizing the functions / actions specified in a block or blocks of the flowchart and / or block schema.

Die nachstehende ausführliche Beschreibung folgt im Allgemeinen dem oben aufgeführten Überblick über die Offenbarung und erläutert und erweitert je nach Notwendigkeit die Definitionen der verschiedenen Aspekte und Ausführungsformen der Beschreibung.The following detailed description will generally follow the summary of disclosure set forth above and, as and when required, illustrate and extend the definitions of the various aspects and embodiments of the description.

Die vorliegende Offenbarung beschreibt ein Verfahren zum Ermitteln eines geeigneten Zielsystems zum Migrieren einer virtuellen Maschine, das Datenpakete auf der Grundlage eines zustandsbehafteten Auslagerungsformats über ein Computernetzwerk sendet. Daher hat ein Systemadministrator die Möglichkeit, bei Bedarf wie zum Beispiel bei Sicherheitsproblemen oder Problemen der Netzwerkbandbreite die virtuelle Maschine auf ein anderes Zielsystem zu migrieren.The present disclosure describes a method for determining a suitable target system for migrating a virtual machine that sends data packets based on a stateful swap format over a computer network. Therefore, a system administrator has the ability to migrate the virtual machine to another target system as needed, such as security issues or network bandwidth issues.

1 ist ein beispielhaftes Schema, das einen Migrationsagenten zeigt, der eine virtuelle Maschine, zu der systemeigene Zustandsdaten der Netzwerkadapterhardware gehören, von einem Quellsystem auf ein Zielsystem migriert. Die Überlagerungsnetzwerkumgebung 100 überlagert ein physisches Netzwerk und nutzt logische Richtlinien, um über virtuelle Netzwerke Daten zwischen virtuellen Maschinen zu übertragen. Daher sind die virtuellen Netzwerke von Einschränkungen der physischen Topologie eines physischen Netzwerks unabhängig (weitere Einzelheiten hierzu siehe 11 und den entsprechenden Text). 1 FIG. 10 is an exemplary schema showing a migration agent that migrates a virtual machine, including native state data of the network adapter hardware, from a source system to a destination system. The overlay network environment 100 overlays a physical network and uses logical policies to transfer data across virtual networks between virtual machines. Therefore, the virtual networks are independent of the limitations of the physical topology of a physical network (for more details see 11 and the corresponding text).

Die Überlagerungsnetzwerk-Umgebung 100 weist ein Quellsystem 105 auf. Das Quellsystem 105 weist einen Host 110 und einen Quell-Netzwerkadapter 150 auf. Der Host 110 weist einen Hypervisor 145 auf, der die virtuelle Maschine 135 und den Einheitentreiber 140 bereitstellt. Die virtuelle Maschine 135 nutzt den Einheitentreiber 140, um zustandsbehaftete Auslagerungsdatenpakete an den Quell-Netzwerkadapter 150 zu senden. Zum Beispiel können die zustandsbehafteten Auslagerungsdatenpakete einem zustandsbehafteten Auslagerungsformat wie beispielsweise Remote Direct Memory Access (RDMA), Internet Wide RDMA Protocol (iWARP), Infiniband (IB) und TCP Offload Engine (TOE) folgen.The overlay network environment 100 has a source system 105 on. The source system 105 has a host 110 and a source network adapter 150 on. The host 110 has a hypervisor 145 on top of that, the virtual machine 135 and the device driver 140 provides. The virtual machine 135 uses the device driver 140 to stateful swap data packets to the source network adapter 150 to send. For example, the stateful paging data packets may follow a stateful paging format such as Remote Direct Memory Access (RDMA), Internet Wide RDMA Protocol (iWARP), Infiniband (IB), and TCP Offload Engine (TOE).

Daraufhin verarbeitet der Quell-Netzwerkadapter 150 die Datenpakete unter Nutzung der Hardwarezustandsdaten 152 und überträgt die Datenpakete über die Überlagerungsnetzwerk-Umgebung 100 zur virtuellen Zielmaschine. Die Hardwarezustandsdaten 152 weisen zustandsbehaftete Informationen auf, die den Kontext des Quell-Netzwerkadapters 150 wiedergeben, zum Beispiel Daten, die Verbindungen und Strukturen betreffen, die zur Kommunikation mit der virtuellen Maschine 135 verwendet werden (z. B. Warteschlangenpaare, Abschlusswarteschlangen usw.), und sie können auch Registerinformationen, Speicherregistrierungen und verschiedene andere Datenstrukturen (z. B. ARP-Tabellen, laufende Nummern, Informationen über Übertragungswiederholungen usw.) aufweisen.The source network adapter then processes 150 the data packets using the hardware state data 152 and transmits the data packets via the overlay network environment 100 to the virtual destination machine. The hardware state data 152 have stateful information that represents the context of the source network adapter 150 for example, data related to connections and structures used to communicate with the virtual machine 135 They may also include register information, memory registrations, and various other data structures (e.g., ARP tables, sequential numbers, retransmission information, etc.).

Bei einer Ausführungsform weisen die Hardwarezustandsdaten 152 Verbindungszustandsdaten der Schicht 4 (des OSI-Modells) (OSI = Open Systems Interconnect) auf, die es dem Quell-Netzwerkadapter 150 ermöglichen, Bestätigungen für Übertragungswiederholungen und Pakete durchzuführen, wodurch der Host 110 von der Durchführung derartiger untergeordneter Aufgaben entlastet wird. Zum Beispiel stellt iWARP eine RDMA-Funktion über eine normale Ethernet-Struktur bereit, die Anwendungspuffer nutzt, die auf einem unterlagerten Ethernet-Adapter zugeordnet sind. Wenn die Kommunikation ausgelöst wird, wird eine Verbindung mit dem Netzwerkadapter hergestellt, der eine TCP-Verbindung auslöst. Sobald diese aktiv ist, werden Daten in den Ausgangspuffern der Anwendung durch den Netzwerkadapter als TCP-Segmente eingebettet, während Datenpakete aufgebaut werden.In one embodiment, the hardware state data 152 Layer 4 (OSI) Open State Interconnect (OSI) connection state data is available to the source network adapter 150 allow to carry out acknowledgments for retransmissions and packets, causing the host 110 is relieved of the performance of such subordinate tasks. For example, iWARP provides an RDMA function over a standard Ethernet structure that uses application buffers associated with a subordinate Ethernet adapter. When the communication fires, it connects to the network adapter that triggers a TCP connection. Once active, data in the application's output buffers is embedded by the network adapter as TCP segments as data packets are established.

Ein Systemadministrator möchte unter Umständen die virtuelle Maschine 135 vom Quellsystem 105 auf ein anderes System migrieren, zum Beispiel zu Sicherheitszwecken oder zum Zweck der Verwaltung der Netzwerkbandbreite. Daher kann der Systemadministrator einen Migrationsbefehl an den Migrationsagenten 160 (im verteilten Richtliniendienst 165 enthalten) senden, der für das Ermitteln eines geeigneten Zielsystems zuständig ist, das einen kompatiblen Host und einen gleichwertigen Netzwerkadapter aufweist, der die Überlagerungsnetzwerk-Umgebung 100 unterstützt. Bei einer Ausführungsform ist ein kompatibler Host ein Host, der Systemanforderungen einer virtuellen Maschine, die gerade migriert wird, wie zum Beispiel CPU-Anforderungen, Speicheranforderungen Bandbreitenanforderungen usw., erfüllt. Bei einer Ausführungsform ist ein gleichwertiger Netzwerkadapter ein Netzwerkadapter, der derselben Lieferantenkennung und derselben Revisionskennung wie der Quell-Netzwerkadapter 150 entspricht.A system administrator may want the virtual machine 135 from the source system 105 migrate to another system, for security purposes, for example, or to manage network bandwidth. Therefore, the system administrator can issue a migration command to the migration agent 160 (in distributed policy service 165 include) responsible for determining an appropriate destination system that has a compatible host and an equivalent network adapter that supports the overlay network environment 100 supported. In one embodiment, a compatible host is a host that meets system requirements of a virtual machine being migrated, such as CPU requirements, memory requirements, bandwidth requirements, and so forth. In one embodiment, an equivalent network adapter is a network adapter, the same vendor identifier, and the same revision identifier as the source network adapter 150 equivalent.

Der Migrationsagent 160 durchläuft eine Reihe von Ermittlungsschritten, um das Zielsystem 115 als geeignetes Zielsystem zu erkennen. Bei einer Ausführungsform nutzt der Migrationsagent 160 eine Kandidatentabelle, die Host-Eigenschaften und Netzwerkadaptereigenschaften aufweist, für die das geeignetes Zielsystem erkannt werden soll (weitere Einzelheiten siehe die 3, 5 und den entsprechenden Text). Bei dieser Ausführungsform stellt der Migrationsagent 160 fest, dass der Host 120 die Systemanforderungen der virtuellen Maschine 135 erfüllt und der Ziel-Netzwerkadapter 190 mit dem Quell-Netzwerkadapter 150 gleichwertig ist (z. B. eine übereinstimmende Einheitenkennung, Firmwareversion und andere entsprechende Adapterattribute aufweist).The migration agent 160 goes through a series of investigation steps to the target system 115 to recognize as a suitable target system. In one embodiment, the migration agent uses 160 a candidate table that has host properties and network adapter properties for which the appropriate target system is to be discovered (for more details, see 3 . 5 and the corresponding text). In this embodiment, the migration agent 160 notice that the host 120 the system requirements of the virtual machine 135 met and the destination network adapter 190 with the source network adapter 150 is equivalent (eg, has a matching device identifier, firmware version, and other corresponding adapter attributes).

Um die virtuelle Maschine 135 zu migrieren, müssen die Hardwarezustandsdaten 152 ebenfalls migriert werden. Die Hardwarezustandsdaten 152 sind jedoch für den Einheitentreiber 140 und die virtuelle Maschine 135 teilweise oder gar nicht transparent. Daher weist der Migrationsagent 160 den Quell-Netzwerkadapter 150 (über den Einheitentreiber 140, Hypervisor 145 oder einen anderen steuernden Agenten) darauf hin, die Hardwarezustandsdaten 152 herauszulösen. Der Quell-Netzwerkadapter 150 legt die E/A-Aktivität und Speicheraktivität still, um während des Herauslösungsprozesses Änderungen oder eine Beschädigung des Zustands zu vermeiden, und kopiert die Hardwarezustandsdaten 152 über den Einheitentreiber 140 an einer vorgegebenen Speicherblock-Anfangsadresse in den gemeinsam genutzten Speicher 142. Die Speicherblock-Anfangsadresse kann als Teil ihrer Initialisierung ausgehandelt oder dem Quell-Netzwerkadapter 150 im Herauslösungsbefehl als Parameter bereitgestellt werden.To the virtual machine 135 To migrate, the hardware state data must be 152 also be migrated. The hardware state data 152 however, are for the device driver 140 and the virtual machine 135 partly or not at all transparent. Therefore, the migration agent assigns 160 the source network adapter 150 (via the device driver 140 , Hypervisor 145 or another controlling agent) indicates the hardware status data 152 extract. The source network adapter 150 Shuts down I / O activity and memory activity to prevent changes or corruption during the detach process, and copies the hardware health information 152 about the device driver 140 at a given memory block start address in the common used memory 142 , The memory block start address may be negotiated as part of its initialization or to the source network adapter 150 be provided as a parameter in the resolve instruction.

Der Migrationsagent 160 sendet einen Migrationsbefehl an das Quellsystem 105 und an das Zielsystem 115, um die virtuelle Maschine 135 zu migrieren. Daraufhin richten die Hypervisoren 145 und 185 eine Verbindung ein, um die virtuelle Maschine 135 (weist den gemeinsam genutzten Speicher 142 auf) in einem Datenstrom auf den Host 120 zu übertragen, wodurch die virtuelle Maschine 175 und der gemeinsam genutzte Speicher 182 entstehen. Außerdem ordnet der Hypervisor 185 den Einheitentreiber 180 der logischen Partition 170 zu und sendet einen Zustandseinfügebefehl an den Ziel-Netzwerkadapter 190. Der Zustandseinfügebefehl weist den Ziel-Netzwerkadapter 190 an, die Hardwarezustandsdaten vom gemeinsam genutzten Speicher 182 an der Speicherblock-Anfangsadresse abzurufen und die Hardwarezustandsdaten 192 auf den Netzwerkadapter 190 zu laden. Infolgedessen behalten die Hardwarezustandsdaten 152 ihre systemeigene Form bei, wenn sie im Ziel-Netzwerkadapter 190 gespeichert werden, sodass keine Adressumsetzungsschritte notwendig sind.The migration agent 160 sends a migration command to the source system 105 and to the target system 115 to the virtual machine 135 to migrate. Then the hypervisors judge 145 and 185 connect to the virtual machine 135 (allocates the shared memory 142 on) in a stream on the host 120 to transfer, causing the virtual machine 175 and the shared memory 182 arise. It also arranges the hypervisor 185 the device driver 180 the logical partition 170 and sends a state insert command to the destination network adapter 190 , The state insert command assigns the destination network adapter 190 on, the hardware state data from the shared memory 182 at the memory block start address and the hardware state data 192 on the network adapter 190 to load. As a result, the hardware state data remains 152 their native form when used in the destination network adapter 190 are stored so that no address translation steps are necessary.

Bei einer Ausführungsform führt der Ziel-Netzwerkadapter 190 eine Prüfsumme durch, um die Hardwarezustandsdaten zu validieren. Bei einer weiteren Ausführungsform kann der Ziel-Netzwerkadapter 190 eine Kopfzeile (Header) oder einzelne Merker nutzen, um auf effiziente Weise den Kontext festzulegen. Bei einer noch weiteren Ausführungsform kann der Migrationsagent 160, wenn der Quell-Netzwerkadapter 150 während der Migration aktiv bleibt, eine oder mehrere Transaktionen zwischen dem Quell-Netzwerkadapter 150 und dem Ziel-Netzwerkadapter 190 erleichtern, um die Gleichwertigkeit ihrer Zustände zu überprüfen.In one embodiment, the destination network adapter performs 190 a checksum to validate the hardware state data. In another embodiment, the destination network adapter may be 190 use a header or individual flags to efficiently specify the context. In yet another embodiment, the migration agent may be 160 if the source network adapter 150 while the migration remains active, one or more transactions between the source network adapters 150 and the destination network adapter 190 to check the equivalency of their states.

2 ist ein beispielhaftes Schema, das eine grafische Darstellung des Ermittelns eines geeigneten Zielsystems zeigt. Bei einer Ausführungsform wählt der Migrationsagent 160 auf der Grundlage verfügbarer Hosts, kompatibler Hosts und gleichwertiger Netzwerkadapter iterativ ein geeignetes Zielsystem aus. Bei einer weiteren Ausführungsform verwendete der Migrationsagent 160 eine Kandidatentabelle wie zum Beispiel die in 3 gezeigte Tabelle aus, um derartige Iterationsschritte durchzuführen. 2 FIG. 10 is an exemplary diagram showing a graphical representation of determining an appropriate target system. FIG. In one embodiment, the migration agent selects 160 iteratively, based on available hosts, compatible hosts and equivalent network adapters, a suitable target system. In another embodiment, the migration agent used 160 a candidate table such as the one in 3 shown table to perform such iteration steps.

Der Migrationsagent erkennt verfügbare Hosts 220, die die Überlagerungsnetzwerk-Umgebung 100 aufweist. Zu den verfügbaren Hosts 220 gehören die Hosts 250 bis 290, die jeweils verschiedene Netzwerkadapter nutzen. Das Beispiel in 2 zeigt, dass der Migrationsagent feststellt, dass die Hosts 250 bis 268 die Host-Anforderungen der virtuellen Maschine, die gerade migriert wird (z. B. nicht genügend Speicher- oder Bandbreitenverfügbarkeit), nicht erfüllen. Daher erkennt der Migrationsagent die Hosts 272 bis 290 als „kompatible” Hosts 230, die die Host-Anforderungen der virtuellen Maschine erfüllen oder übererfüllen, die gerade migriert wird.The migration agent detects available hosts 220 that the overlay network environment 100 having. To the available hosts 220 include the hosts 250 to 290 , each using different network adapters. The example in 2 shows that the migration agent detects that the hosts 250 to 268 do not meet the host requirements of the virtual machine being migrated (for example, insufficient memory or bandwidth availability). Therefore, the migration agent detects the hosts 272 to 290 as "compatible" hosts 230 that meet or exceed the host requirements of the virtual machine being migrated.

Als Nächstes analysiert der Migrationsagent die Netzwerkadapter 274, 285 und 295, die den kompatiblen Hosts 230 entsprechen, um einen Netzwerkadapter zu erkennen, der mit dem Netzwerkadapter gleichwertig ist, der von der virtuellen Maschine genutzt wird, die gerade migriert wird. Bei einer Ausführungsform ist ein gleichwertiger Netzwerkadapter ein Netzwerkadapter, der sowohl hinsichtlich der Einheitenkennung als auch der Lieferantenkennung mit dem Netzwerkadapter der virtuellen Maschine übereinstimmt, die gerade migriert wird. Das in 2 gezeigte Beispiel zeigt, dass der Netzwerkadapter 295 mit dem Netzwerkadapter der virtuellen Maschine gleichwertig ist, die gerade migriert wird. Daher sendet der Migrationsagent eine Nachricht an die Hypervisoren des Quell- und Zielsystems, um eine Verbindung einzurichten und die virtuelle Maschine vom Quellsystem auf das Zielsystem zu migrieren.Next, the migration agent analyzes the network adapters 274 . 285 and 295 that the compatible hosts 230 to detect a network adapter that is equivalent to the network adapter used by the virtual machine being migrated. In one embodiment, an equivalent network adapter is a network adapter that matches both the device identifier and the vendor identifier with the network adapter of the virtual machine being migrated. This in 2 example shown shows that the network adapter 295 is equivalent to the network adapter of the virtual machine being migrated. Therefore, the migration agent sends a message to the source and target system hypervisors to establish a connection and to migrate the virtual machine from the source system to the target system.

3 ist eine beispielhafte Kandidatentabelle, die Tabelleneinträge mit Host-Eigenschaften und entsprechenden Netzwerkadaptereigenschaften aufweist. Ein Migrationsagent (als Teil des verteilten Richtliniendienstes) verwaltet die Kandidatentabelle 300, um Host-Anforderungen und Netzwerkadapteranforderungen für virtuelle Maschinen zu überwachen, die Übertragungen von zustandsbehafteten Auslagerungsdaten ausführen. Bei einer Ausführungsform kann ein lokaler Server für verteilte Richtlinien eine Kandidatentabelle 300 verwalten, die Tabelleneinträge auf der Ebene eines lokalen virtuellen Netzwerks aufweisen würde. Bei einer weiteren Ausführungsform kann ein Stamm-Server für verteilte Richtlinien eine Kandidatentabelle 300 verwalten, die Tabelleneinträge auf der Ebene einer globalen Überlagerungsnetzwerk-Umgebung aufweisen würde (weitere Einzelheiten siehe 10 und den entsprechenden Text). 3 FIG. 10 is an exemplary candidate table that has host property table entries and corresponding network adapter properties. A migration agent (as part of the distributed policy service) manages the candidate table 300 to monitor host requests and network adapter requests for virtual machines that perform stateful swap data transfers. In one embodiment, a local distributed policy server may be a candidate table 300 manage table entries at the local virtual network level. In another embodiment, a distributed policy root server may be a candidate table 300 that would have table entries at the level of a global overlay network environment (for more details, see 10 and the corresponding text).

Die Kandidatentabelle 300 weist eine Liste von Tabelleneinträgen auf, die Host-Namen (Spalte 310) und Host-Eigenschaften (Spalte 320) aufweisen. Beispielsweise kann ein Host-System einer virtuellen Maschine einen bestimmten Betrag an Verarbeitungsleistung, Speicher und Bandbreite bereitstellen. Bei einer Ausführungsform kann die Spalte 320 minimale, nominelle und/oder maximale Host-Eigenschaften aufweisen.The candidate table 300 has a list of table entries containing host names (column 310 ) and host properties (Column 320 ) exhibit. For example, a virtual machine host system may provide a certain amount of processing power, memory, and bandwidth. In one embodiment, the column 320 have minimum, nominal, and / or maximum host properties.

Die Tabelleneinträge weisen außerdem Netzwerkadapterinformationen zu Netzwerkadaptern auf, die von entsprechenden Host-Systemen genutzt werden. Die Spalte 330 weist Netzwerkadapterkennungen auf, und die Spalte 340 weist Netzwerkadaptereigenschaften auf. Die Netzwerkadaptereigenschaften kennzeichnen bei einer Ausführungsform die Lieferantenkennung und die Einheitenkennung des Netzwerkadapters. Daher kann der Migrationsagent einen gleichwertigen (übereinstimmenden) Netzwerkadapter ermitteln, um Hardwarezustandsdaten in ihrem systemeigenen Format auf einen sich unterscheidenden Netzwerkadapter zu migrieren.The table entries also have network adapter information about network adapters used by appropriate host systems. The gap 330 has Network adapter identifiers, and the column 340 has network adapter properties. The network adapter properties in one embodiment identify the supplier identifier and the device identifier of the network adapter. Therefore, the migration agent can discover an equivalent (compliant) network adapter to migrate hardware state data in its native format to a different network adapter.

4 ist ein beispielhafter Ablaufplan, der die Schritte zeigt, die beim Ermitteln eines Zielsystems und Migrieren einer virtuellen Maschine von einem Quellsystem auf das Zielsystem unternommen werden. Die Migrationsagentenverarbeitung beginnt bei 400, wonach der Migrationsagent eine Anforderung von einem Administrator 415 empfängt, eine virtuelle Maschine zu migrieren, die auf einem Quellsystem ausgeführt wird (Schritt 410). Die virtuelle Maschine überträgt zustandsbehaftete Auslagerungsdatenpakete (z. B. RDMA), die einen Netzwerkadapter durchqueren, der Hardwarezustandsdaten nutzt, um die Datenpakete zu verarbeiten. 4 Figure 10 is an exemplary flowchart showing the steps taken in determining a target system and migrating a virtual machine from a source system to the target system. Migration agent processing begins at 400 After which the migration agent receives a request from an administrator 415 receives to migrate a virtual machine running on a source system (step 410 ). The virtual machine transmits stateful paging data packets (eg, RDMA) traversing a network adapter that uses hardware state data to process the data packets.

Bei Schritt 420 erkennt der Migrationsagent einen Quell-Netzwerkadapter, den die Datenpakete der virtuellen Maschine durchqueren (der z. B. in der Anforderung enthalten ist oder über eine Kandidatentabelle erkannt wurde). Es wird eine Ermittlung dahingehend durchgeführt, ob der Hardwarezustand des Netzwerkadapters verlagerbar ist (der Adapter unterstützt z. B. die Entnahme, Entscheidung 430). Wenn der Hardwarezustand des Netzwerkadapters nicht verlagerbar ist, verzweigt die Entscheidung 430 zum „Nein”-Zweig, wonach der Migrationsagent bei Schritt 435 einen Fehler an den Administrator 415 zurückgibt und bei Schritt 438 endet.At step 420 The migration agent detects a source network adapter that is traversing the virtual machine's data packets (such as contained in the request or detected through a candidate table). A determination is made as to whether the hardware state of the network adapter is relocatable (for example, the adapter supports the extraction, decision 430 ). If the hardware state of the network adapter is not relocatable, the decision branches 430 to the "no" branch, after which the migration agent at step 435 a mistake to the administrator 415 returns and at step 438 ends.

Andererseits verzweigt die Entscheidung 430 zum „Ja”-Zweig, wenn der Hardwarezustand des Netzwerkadapters verlagerbar ist, wonach der Migrationsagent eine Reihe von Schritten durchläuft, um ein geeignetes Zielsystem zu erkennen, dessen Netzwerkadapter den vom Quell-Netzwerkadapter genutzten Hardwarezustand unterstützt (vordefinierter Prozessblock 440, weitere Einzelheiten siehe 5 und den entsprechenden Text).On the other hand, the decision branches 430 to the "yes" branch when the hardware state of the network adapter is relocatable, after which the migration agent goes through a series of steps to discover a suitable target system whose network adapter supports the hardware state used by the source network adapter (pre-defined process block 440 , see more details 5 and the corresponding text).

Bei Schritt 450 gibt der Migrationsagent einen Entnahmebefehl an den Quell-Netzwerkadapter aus (z. B. über seinen Einheitentreiber oder Hypervisor), um die E/A-Aktivität und Speicheraktivität stillzusetzen und die Hardwarezustandsdaten an eine gemeinsam genutzte Speicherstelle zu kopieren (weitere Einzelzeiten siehe 6 und den entsprechenden Text).At step 450 The Migration Agent issues a removal command to the source network adapter (for example, through its device driver or hypervisor) to shut down I / O activity and memory activity and copy the hardware health data to a shared location (for more information, see 6 and the corresponding text).

Daraufhin sendet das Quellsystem 105 einen Hinweis an den Migrationsagenten (bei Schritt 570 empfangen), dass die Hardwarezustandsdaten in den gemeinsam genutzten Speicher kopiert worden sind. Der Migrationsagent sendet eine Migrationsanforderung an das Quellsystem und an das Zielsystem, um eine Verbindung herzustellen und die virtuelle Maschine (weist die Hardwarezustandsdaten auf) vom Quellsystem 105 auf das Zielsystem 115 zu migrieren (vordefinierter Prozessblock 480, weitere Einzelheiten siehe 7 und den entsprechenden Text). Sobald die Migration abgeschlossen ist, konfiguriert der Hypervisor des Zielsystems 115 seinen Ziel-Netzwerkadapter entsprechend den migrierten Hardwarezustandsdaten. Die virtuelle Maschine nimmt bei 490 den Betrieb auf dem Zielsystem 115 wieder auf, und die Verarbeitung durch den Migrationsagenten endet bei 495.The source system then sends 105 a note to the migration agent (at step 570 receive) that the hardware state data has been copied to the shared memory. The migration agent sends a migration request to the source system and to the target system to connect and the virtual machine (which has the hardware health information) from the source system 105 on the target system 115 to migrate (predefined process block 480 , see more details 7 and the corresponding text). Once the migration is complete, the hypervisor configures the target system 115 its destination network adapter according to the migrated hardware state data. The virtual machine is adding 490 the operation on the target system 115 and the processing by the migration agent ends at 495 ,

5 ist ein beispielhafter Ablaufplan, der die Schritte zeigt, die in einem Migrationsagenten beim Ermitteln eines geeigneten Zielsystems unternommen werden, das einen kompatiblen Host und einen gleichwertigen Netzwerkadapter aufweist. Bei einer Ausführungsform ist ein gleichwertiger Netzwerkadapter ein Adapter, der die Hardwarezustandsdaten des Quell-Netzwerkadapters in ihrem systemeigenen Hardwareformat nutzen kann (z. B. sind keine Adressumsetzungen erforderlich). 5 FIG. 10 is an exemplary flowchart illustrating the steps taken in a migration agent in determining an appropriate target system having a compatible host and equivalent network adapter. In one embodiment, an equivalent network adapter is an adapter that can utilize the hardware state data of the source network adapter in its native hardware format (eg, address translations are not required).

Die Zielermittlungsverarbeitung beginnt bei 500, wonach der Migrationsagent (im verteilten Richtliniendienst enthalten) bei Schritt 520 Systemanforderungen erkennt, die einer virtuellen Maschine entsprechen, die gerade migriert wird. Beispielsweise können zu den Systemanforderungen der virtuellen Maschine die Verarbeitungsgeschwindigkeit, Speicheranforderungen, Anforderungen an die Netzwerkbandbreite usw. gehören. Bei Schritt 530 greift der Migrationsagent auf die Kandidatentabelle 525 zu, und erkennt kompatible Host-Systeme, die die Anforderungen an das Host-System erfüllen. Bei einer Ausführungsform ist ein Host-System kompatibel, wenn es die Systemanforderungen der virtuellen Maschine erfüllt oder übererfüllt. Beispielsweise erfordert eine virtuelle Maschine unter Umständen 4 GB Systemspeicher, und ein Host-System ist unter Umständen in der Lage, der virtuellen Maschine 6 GB Systemspeicher bereitzustellen.Destination discovery processing begins at 500 After that, the migration agent (included in the distributed policy service) at step 520 Detect system requirements that correspond to a virtual machine being migrated. For example, the virtual machine system requirements may include processing speed, memory requirements, network bandwidth requirements, and so on. At step 530 the migration agent accesses the candidate table 525 and recognizes compatible host systems that meet the requirements of the host system. In one embodiment, a host system is compatible if it meets or exceeds the virtual machine system requirements. For example, a virtual machine might require 4 GB of system memory, and a host system might be able to provide 6 GB of system memory to the virtual machine.

Bei Schritt 540 erkennt der Migrationsagent die in der Kandidatentabelle 525 enthaltenen systemeigenen Hardwareeigenschaften des Quell-Netzwerkadapters. Bei einer Ausführungsform gehören zu den systemeigenen Hardwareeigenschaften des Quell-Netzwerkadapters die Einheitenkennung, Firmwareversion und andere entsprechende Adaptereigenschaften. Als Nächstes erkennt der Migrationsagent einen oder mehrere durch die kompatiblen Host-Systeme genutzte Netzwerkadapter (ab Schritt 530), die mit den systemeigenen Hardwareeigenschaften des Quell-Netzwerkadapters gleichwertig sind (Schritt 550).At step 540 the migration agent detects the ones in the candidate table 525 included native hardware properties of the source network adapter. In one embodiment, the native hardware properties of the source network adapter include the device identifier, firmware version, and other appropriate adapter properties. Next, the migration agent detects one or more network adapters used by the compatible host systems (starting at step 530 ), which are equivalent to the native hardware properties of the source network adapter (step 550 ).

Daraufhin wählt der Migrationsagent bei Schritt 560 einen oder mehrere der gleichwertigen Netzwerkadapter aus. Bei einer Ausführungsform sendet der Migrationsagent eine Nachricht an den Netzwerkadministrator und ermöglicht dem Netzwerkadministrator, einen der gleichwertigen Netzwerkadapter auszuwählen. Die Verarbeitung kehrt bei 580 zurück. The migration agent then chooses Step 560 one or more of the equivalent network adapters. In one embodiment, the migration agent sends a message to the network administrator and allows the network administrator to select one of the equivalent network adapters. The processing returns 580 back.

6 ist ein beispielhafter Ablaufplan, der die Schritte zeigt, die in einem Host-System unternommen werden, das eine virtuelle Maschine zur Migration vorbereitet. Die Quellsystemverarbeitung beginnt bei 600, wonach das Quellsystem vom Migrationsagenten 160 einen Zustandsentnahmebefehl empfängt, um eine bestimmte virtuelle Maschine zu migrieren, die auf dem Quell-Host-System ausgeführt wird (Schritt 610). Bei Schritt 620 setzt das Quellsystem (z. B. über einen Einheitentreiber oder Hypervisor) die E/A-Aktivität und Speicheraktivität auf dem Quell-Netzwerkadapter 150 still, um während der Migration der virtuellen Maschine Änderungen oder eine Beschädigung des Zustands zu vermeiden. 6 Figure 10 is an exemplary flowchart showing the steps taken in a host system preparing a virtual machine for migration. The source system processing begins at 600 According to which the source system of the migration agent 160 receives a state extraction command to migrate a particular virtual machine running on the source host system (step 610 ). At step 620 The source system sets the I / O activity and storage activity on the source network adapter (for example, through a device driver or hypervisor) 150 silent to avoid changes or damage to the state during virtual machine migration.

Bei Schritt 630 weist das Quellsystem den Quell-Netzwerkadapter 150 an, Hardwarezustandsdaten herauszulösen, die zu der virtuellen Maschine gehören, die gerade migriert wird, und bei Schritt 640 kopiert das Quellsystem die Hardwarezustandsdaten in den gemeinsam genutzten Speicher 142, bei dem es sich um Systemspeicher und einen Teil der virtuellen Maschine handelt, die auf das Zielsystem migriert wird. Das Quellsystem informiert bei Schritt 650 den Migrationsagenten 160, dass die virtuelle Maschine zur Migration bereit ist, und die Quellsystemverarbeitung endet bei 660.At step 630 the source system has the source network adapter 150 to release hardware state data that belongs to the virtual machine being migrated and step 640 The source system copies the hardware state data to the shared memory 142 , which is system memory and part of the virtual machine being migrated to the target system. The source system informs at step 650 the migration agent 160 that the virtual machine is ready to migrate, and source system processing ends at 660 ,

7 ist ein beispielhafter Ablaufplan, der die Schritte zeigt, die beim Migrieren einer virtuellen Maschine von einem Quellsystem auf ein Zielsystem unternommen werden. Die Quellsystemverarbeitung beginnt bei 700, wonach das Quellsystem vom Migrationsagenten 160 eine Anforderung zur Migration des Quellsystems auf das Zielsystem empfängt. Die Zielsystemverarbeitung beginnt, woraufhin das Zielsystem bei 755 eine entsprechende Anforderung empfängt. 7 Figure 10 is an exemplary flowchart showing the steps taken when migrating a virtual machine from a source system to a target system. The source system processing begins at 700 According to which the source system of the migration agent 160 receives a request to migrate the source system to the target system. The target system processing begins, whereupon the target system arrives 755 receives a corresponding request.

Bei Schritt 710 stellt der Hypervisor des Quellsystems eine Verbindung mit dem Hypervisor des Zielsystems her und fordert das Zielsystem auf, Ressourcen für die virtuelle Maschine zu reservieren, die gerade migriert wird. Bei einer Ausführungsform weist die Anforderung Konfigurationsparameter entfernt angeordneter Adapter auf, die eine Speicherblock-Anfangsadresse im gemeinsam genutzten Speicher der virtuellen Maschine angeben, an der Hardwarezustandsdaten gespeichert sind (Schritt 710).At step 710 The source system's hypervisor connects to the hypervisor of the target system and prompts the target system to reserve resources for the virtual machine that is being migrated. In one embodiment, the request includes configuration parameters of remotely located adapters that specify a memory block start address in shared memory of the virtual machine where hardware state data is stored (step 710 ).

Der Hypervisor des Zielsystems ordnet bei Schritt 760 Platz für die virtuelle Maschine zu. Bei den Schritten 710 und 765 migrieren die Hypervisoren die virtuelle Maschine vom Quellsystem auf das Zielsystem, und bei einer Ausführungsform überprüft das Zielsystem die Migration, zum Beispiel durch eine Prüfsummenberechnung. Daraufhin ordnet der Hypervisor des Zielsystems bei Schritt 770 der migrierten logischen Partition einen Einheitentreiber zu, sodass die virtuelle Maschine mit dem Ziel-Netzwerkadapter kommunizieren kann.The hypervisor of the target system is ordering at step 760 Space for the virtual machine too. At the steps 710 and 765 The hypervisors migrate the virtual machine from the source system to the target system, and in one embodiment, the target system checks the migration, for example, by a checksum calculation. The hypervisor then places the target system in step 770 Add a device driver to the migrated logical partition so that the virtual machine can communicate with the destination network adapter.

Bei Schritt 775 sendet der Hypervisor des Zielsystems einen „Zustandseinfüge”-Befehl an den Ziel-Netzwerkadapter, der den Ziel-Netzwerkadapter anweist, die Hardwarezustandsdaten an der Speicherblock-Anfangsadresse aus den gemeinsam genutzten Speicher abzurufen und den Ziel-Netzwerkadapter entsprechend zu konfigurieren. Bei einer Ausführungsform sind die Speicherblock-Anfangsadressen in der durch den Hypervisor des Quellsystems gesendeten Ressourcenanforderung enthalten (oben erörterter Schritt 710). Bei einer weiteren Ausführungsform sendet der Quell-Hypervisor eine separate Nachricht an den Ziel-Hypervisor, die die Speicherblock-Anfangsadresse enthält. Sobald die Konfiguration abgeschlossen ist, sendet der Ziel-Hypervisor bei Schritt 789 eine Migrationsbestätigung an den Quell-Hypervisor, und die Ziel-Hypervisor-Verarbeitung endet bei 790.At step 775 The target system hypervisor sends a "state insert" command to the destination network adapter instructing the destination network adapter to retrieve the hardware state data at the memory block start address from the shared memory and to configure the destination network adapter accordingly. In one embodiment, the memory block headers are included in the resource request sent by the hypervisor of the source system (step discussed above 710 ). In another embodiment, the source hypervisor sends a separate message to the destination hypervisor containing the memory block start address. Once the configuration is complete, the destination hypervisor sends in step 789 a migration acknowledgment to the source hypervisor, and the target hypervisor processing ends at 790 ,

Der Quell-Hypervisor empfängt bei Schritt 720 die Bestätigung für die erfolgreiche Migration und gibt bei Schritt 730 die Ressourcen (virtuelle Maschine, Einheitentreiber, gemeinsam genutzter Speicher usw.) auf dem Quellsystem frei. Die Quell-Hypervisor-Verarbeitung endet bei 735.The source hypervisor receives at step 720 the confirmation for the successful migration and gives at step 730 free the resources (virtual machine, device driver, shared memory, etc.) on the source system. The source hypervisor processing ends at 735 ,

8 ist ein beispielhaftes Schema, das einen Netzwerkadapter zeigt, der Hardwarezustandsdaten von Modulen überwacht und speichert, die auf einer virtuellen Maschine ausgeführt werden. Die virtuelle Maschine 135 nutzt die Module 800 bis 850, um zustandsbehaftete Auslagerungsdatenpakete über den Quell-Netzwerkadapter 150 an andere virtuelle Maschinen zu senden bzw. von diesen zu empfangen. Jedes der Module 800 bis 850 weist einen „Zustand” auf dem Quell-Netzwerkadapter 150 auf, der in den Hardwarezustandsdaten 152 gespeichert ist. Bei einer Ausführungsform gehört zu den Hardwarezustandsdaten 152 eine Gruppierung von Informationen, die einen Zustand einer Verbindung/eines Datagramms wiedergeben. Beispielsweise kann Folgendes zu den Hardwarezustandsdaten 152 gehören:

  • • Gruppierung von Ressourcen der Schutzdomäne
  • • Statistiken der Einheiten der Schutzdomäne
  • • Index der Produzenten der Sendewarteschlangen-Hardware des Warteschlangenpaares
  • • Index der Konsumenten der Sendewarteschlangen-Software des Warteschlangenpaares
  • • Index der Produzenten der Empfangswarteschlangen-Hardware des Warteschlangenpaares
  • • Index der Konsumenten der Empfangswarteschlangen-Software des Warteschlangenpaares
  • • zugehörige Speicherbereiche
  • • zugehörige Adress-Handles
  • • Index der Produzenten der Abschlusswarteschlangen-Hardware
  • • Index der Konsumenten der Abschlusswarteschlangen-Software
  • • Statistiken der Einheiten der Abschlusswarteschlange
  • • Zuweisungen zwischen virtuellen und logischen Adressen/Busadressen
8th Figure 10 is an exemplary diagram showing a network adapter monitoring and storing hardware state data of modules running on a virtual machine. The virtual machine 135 uses the modules 800 to 850 to stateful paging data packets through the source network adapter 150 to send to or receive from other virtual machines. Each of the modules 800 to 850 indicates a "state" on the source network adapter 150 in the hardware state data 152 is stored. In one embodiment, one of the hardware state data is one 152 a grouping of information that represents a state of a connection / datagram. For example, the following may be related to the hardware state data 152 belong:
  • • Grouping resources of the protection domain
  • • Statistics of the units of the protection domain
  • • Index of send queue hardware producers of the queue pair
  • • Index of the consumers of the send queue software of the queue pair
  • • Index of the producers of the receive queue hardware of the queue pair
  • • Index of the consumers of the receive queue software of the queue pair
  • • associated memory areas
  • • associated address handles
  • • Index of final queue hardware producers
  • • Index of the users of the completion queue software
  • • Statistics of the units of the completion queue
  • • Assignments between virtual and logical addresses / bus addresses

Wenn die virtuelle Maschine 135 auf ein Zielsystem migriert wird, werden die Hardwarezustandsdaten 152 in einen gemeinsam genutzten Speicherbereich kopiert und zusammen mit der virtuellen Maschine 135 auf das Zielsystem migriert. Daraufhin konfiguriert das Zielsystem seinen Ziel-Netzwerkadapter entsprechend den migrierten Hardwarezustandsdaten 152. Bei einer Ausführungsform kann der Quell-Netzwerkadapter 150 tausende von Hardwarezustandsdaten 152 verwalten, die jeweils einer anderen virtuellen Maschine entsprechen. Bei dieser Ausführungsform werden nur Hardwarezustandsdaten 152 auf das Zielsystem kopiert, die einer virtuellen Maschine entsprechen, die gerade migriert wird.If the virtual machine 135 is migrated to a target system, the hardware state data becomes 152 copied to a shared storage area and shared with the virtual machine 135 migrated to the target system. The target system then configures its destination network adapter according to the migrated hardware state data 152 , In one embodiment, the source network adapter 150 thousands of hardware state data 152 manage, each corresponding to a different virtual machine. In this embodiment, only hardware state data becomes 152 copied to the target system that corresponds to a virtual machine being migrated.

9 ist ein beispielhaftes Schema, das die Migration von Hardwarezustandsdaten von einem Quell-Netzwerkadapter auf einen Ziel-Netzwerkadapter zeigt. Der Quell-Netzwerkadapter 150 nutzt die Hardwarezustandsdaten 152, um zustandsbehaftete Auslagerungsdateipakete von einer virtuellen Quellmaschine an eine virtuelle Zielmaschine zu senden. Während der Migration auf den Ziel-Netzwerkadapter 190 werden die Hardwarezustandsdaten 152 an der Speicherblock-Anfangsadresse 800 in den gemeinsam genutzten Speicher 142 kopiert. Daraufhin werden, wenn die virtuelle Maschine 135 als virtuelle Maschine 175 auf ein Zielsystem kopiert wird, die Hardwarezustandsdaten 152 in ihrem systemeigenen Hardwareformat kopiert und bleiben nach wie vor an der Speicherblock-Anfangsadresse 800 im gemeinsam genutzten Speicher 182 gespeichert. Daraufhin werden aufgrund der Tatsache, dass der Ziel-Netzwerkadapter 190 mit dem Quell-Netzwerkadapter 150 gleichwertig ist, die Hardwarezustandsdaten 152 in ihrem systemeigenen Hardwareformat auf den Ziel-Netzwerkadapter 190 kopiert. 9 Figure 10 is an exemplary schema showing the migration of hardware state data from a source network adapter to a destination network adapter. The source network adapter 150 Uses the hardware state data 152 to send stateful paging file packages from a source virtual machine to a destination virtual machine. While migrating to the destination network adapter 190 become the hardware state data 152 at the memory block start address 800 in the shared memory 142 copied. Thereupon, if the virtual machine 135 as a virtual machine 175 copied to a target system, the hardware state data 152 are copied to their native hardware format and still remain at the memory block start address 800 in shared memory 182 saved. Thereupon, due to the fact that the destination network adapter 190 with the source network adapter 150 is equivalent, the hardware state data 152 in their native hardware format on the destination network adapter 190 copied.

Aufgrund der Tatsache, dass der Ziel-Netzwerkadapter 190 mit dem Quell-Netzwerkadapter 150 gleichwertig ist, nutzt der Ziel-Netzwerkadapter 190 Hardwarezustandsdaten in ihrem systemeigenen Format, sodass Adressumsetzungen nicht erforderlich sind.Due to the fact that the destination network adapter 190 with the source network adapter 150 is equivalent, uses the destination network adapter 190 Hardware state data in its native format, so address translation is not required.

10 ist ein beispielhaftes Schema, das einen verteilten Richtliniendienst zeigt, der auf einen Speicherbereich mit Kandidatentabellen zugreift, um ein geeignetes Zielsystem zu erkennen. Der Migrationsagent 160 weist eine Schnittstelle zum lokalen Netzwerk-Richtlinienserver auf, um ein geeignetes Zielsystem zu erkennen. Bei einer Ausführungsform verwaltet der lokale Netzwerk-Richtlinienserver 1000 Richtlinien und Umsetzungen physikalischer Pfade, die zum Überlagerungsnetzwerk des Quellsystems (z. B. die Überlagerungsnetzwerk-Umgebung 100) gehören. Bei einer weiteren Ausführungsform sind Richtlinienserver für unterschiedliche Überlagerungsnetzwerke benachbart und unterscheiden Richtlinienanforderungen von unterschiedlichen Migrationsagenten anhand ihrer entsprechenden Überlagerungsnetzwerk-Kennung. 10 Figure 10 is an exemplary schema showing a distributed policy service accessing a candidate table storage area to identify a suitable target system. The migration agent 160 has an interface to the local network policy server to discover a suitable target system. In one embodiment, the local network policy server manages 1000 Policies and transformations of physical paths leading to the overlay network of the source system (for example, the Overlay Network environment 100 ) belong. In another embodiment, policy servers are contiguous to different overlay networks and distinguish policy requests from different migration agents based on their corresponding overlay network identifier.

Der verteilte Richtliniendienst 165 ist hierarchisch strukturiert, und wenn der lokale Netzwerk-Richtlinienserver 1000 kein geeignetes Zielsystem finden kann, fragt der lokale Netzwerk-Richtlinienserver 1000 den Stamm-Richtlinienserver 1010 ab, um nach einem geeigneten Zielsystem zu suchen. Daraufhin greift der Stamm-Richtlinienserver 1010 auf den Kandidatentabellenspeicher 1015 zu und sendet eine Kennung eines geeigneten Zielsystems an den lokalen Netzwerk-Richtlinienserver 1000, der sie an den Migrationsagenten 160 sendet. Bei einer Ausführungsform kann der Stamm-Richtlinienserver 1010 dem lokalen Netzwerk-Richtlinienserver 1000 eine Nachricht senden, um den lokalen Netzwerk-Richtlinienserver 1030 nach einem geeigneten Zielsystem abzufragen, das andere Host-Systeme verwaltet als die, die der lokale Netzwerk-Richtlinienserver 1000 verwaltet.The distributed policy service 165 is hierarchical, and if the local network policy server 1000 can not find a suitable target system, asks the local network policy server 1000 the root policy server 1010 to search for a suitable target system. The root policy server will then pick up 1010 on the candidate table store 1015 and sends an identifier of a suitable target system to the local network policy server 1000 who sent her to the migration agent 160 sends. In one embodiment, the root policy server 1010 the local network policy server 1000 Send a message to the local network policy server 1030 to query for an appropriate target system that manages host systems other than the one that hosts the local network policy server 1000 managed.

11 ist ein beispielhaftes Schema, das virtuelle Netzwerkabstraktionen zeigt, die einem physischen Netzwerkraum überlagert sind. Die virtuellen Netzwerke 1100 sind Teil einer Überlagerungsnetzwerk-Umgebung und weisen Richtlinien (z. B. die Richtlinien 1103 bis 1113) auf, die eine virtuelle Ende-zu-Ende-Verbindung zwischen virtuellen Maschinen (z. B. zwischen den virtuellen Maschinen 1102 bis 1110) bereitstellen. Jedes der virtuellen Netzwerke 110 entspricht einer eindeutigen virtuellen Kennung, die den gleichzeitigen Betrieb mehrerer virtueller Netzwerke über dem physischen Raum 1120 ermöglicht. Wie sich der Fachmann vorstellen kann, können einige der virtuellen Netzwerke 1100 einen Teil der virtuellen Maschinen 1102 bis 1110 aufweisen, während andere virtuelle Netzwerke 1100 andere virtuelle Maschinen und andere Richtlinien als die in 11 gezeigten aufweisen können. 11 FIG. 10 is an exemplary schema showing virtual network abstractions superimposed on a physical network space. The virtual networks 1100 are part of an overlay network environment and have policies (such as the policies 1103 to 1113 ), which provide an end-to-end virtual connection between virtual machines (e.g., between the virtual machines 1102 to 1110 ) provide. Each of the virtual networks 110 corresponds to a unique virtual identifier that allows simultaneous operation of multiple virtual networks across physical space 1120 allows. As the expert can imagine, some of the virtual networks can 1100 a part of the virtual machines 1102 to 1110 while others have virtual networks 1100 other virtual machines and other policies than those in 11 may have shown.

Wenn eine virtuelle „Quell”-Maschine Daten an eine virtuelle „Ziel”-Maschine sendet, beschreibt eine den zwei virtuellen Maschinen entsprechende Richtlinie einen logischen Pfad, auf dem die Daten übertragen werden (z. B. über eine Firewall, über einen Beschleuniger usw.). Anders ausgedrückt definieren die Richtlinien 1103 bis 1113, wie unterschiedliche virtuelle Maschinen Daten untereinander (oder mit externen Netzwerken) austauschen. Zum Beispiel kann eine Richtlinie Anforderungen an die Dienstqualität (Quality of Service, QoS) definieren; den Zugriff auf Steuerelemente, die zu bestimmten virtuellen Maschinen gehören; oder eine Gruppe virtueller oder physischer Einrichtungen (Geräte), die beim Senden oder Empfangen von Daten zu durchqueren sind. Darüber hinaus können einige Einheiten Beschleuniger wie zum Beispiel Komprimierung, IP Security (IPSec), SSL oder Sicherheitseinrichtungen wie zum Beispiel eine Firewall oder ein Warnsystem gegen Angriffe von außen aufweisen. Zudem kann eine Richtlinie so gestaltet sein, dass sie den Datenaustausch zwischen der virtuellen Quellmaschine und der virtuellen Zielmaschine nicht zulässt. When a source virtual machine sends data to a target virtual machine, a policy corresponding to the two virtual machines describes a logical path on which the data is transmitted (eg, via a firewall, an accelerator, etc .). In other words, the guidelines define 1103 to 1113 How different virtual machines exchange data with each other (or with external networks). For example, a policy may define quality of service (QoS) requirements; access to controls that belong to specific virtual machines; or a group of virtual or physical devices (devices) to be traversed when sending or receiving data. In addition, some units may have accelerators such as compression, IP Security (IPSec), SSL, or security devices such as a firewall or an alert system against external attacks. In addition, a policy may be designed to disallow data exchange between the source virtual machine and the destination virtual machine.

Die virtuellen Netzwerke 1100 sind dem physischen Raum 1120 logisch überlagert, der physische Einheiten 1135 bis 1188 aufweist (Hosts, Switches und Router). Obwohl sich die Art, in der eine Richtlinie im System durchgesetzt wird, auf den physischen Raum 1120 auswirkt und von diesem abhängt, sind virtuelle Netzwerke 1100 mehr von logischen Beschreibungen in den Richtlinien abhängig. Daher können mehrere virtuelle Netzwerke 1100 einem physischen Raum 1120 überlagert sein. Wie zu erkennen ist, ist der physische Raum 1120 in das Teilnetz X 1125 und das Teilnetz Y 1130 unterteilt. Die Teilnetze sind über die Router 1135 und 1140 verbunden. Die virtuellen Netzwerke 1100 sind von Einschränkungen des physischen Raums 1120 (z. B. Einschränkungen der Ebene 12 innerhalb eines Teilnetzes) unabhängig. Daher kann ein virtuelles Netzwerk physische Einheiten aufweisen, die sowohl zum Teilnetz X 1125 als auch zum Teilnetz Y 1130 gehören.The virtual networks 1100 are the physical space 1120 logically superimposed, the physical units 1135 to 1188 (hosts, switches and routers). Although the way in which a policy is enforced in the system is physical space 1120 and depends on it, are virtual networks 1100 more dependent on logical descriptions in the guidelines. Therefore, you can have multiple virtual networks 1100 a physical space 1120 be superimposed. As you can see, the physical space is 1120 into subnet X 1125 and the subnet Y 1130 divided. The subnets are over the routers 1135 and 1140 connected. The virtual networks 1100 are of limitations of the physical space 1120 (eg level restrictions 12 within a subnetwork) independently. Therefore, a virtual network may have physical entities that reside both in subnet X. 1125 as well as the subnet Y 1130 belong.

Bei einer Ausführungsform unterstützen Abstraktionen virtueller Netzwerke die Adressunabhängigkeit zwischen unterschiedlichen virtuellen Netzwerken 1100. Zum Beispiel können zwei unterschiedliche virtuelle Maschinen, die in zwei unterschiedlichen virtuellen Netzwerken betrieben werden, dieselbe IP-Adresse aufweisen. Um ein weiteres Beispiel zu nennen, unterstützen Abstraktionen virtueller Netzwerke das Bereitstellen virtueller Maschinen, die zu denselben virtuellen Netzwerken gehören, auf unterschiedlichen Hosts, die sich in unterschiedlichen physischen Teilnetzen befinden (dies gilt auch für Switches und/oder Router zwischen den physischen Einheiten). Bei einer weiteren Ausführungsform können virtuelle Maschinen, die zu unterschiedlichen virtuellen Netzwerken gehören, auf demselben physischen Host gehostet sein. Bei noch einer weiteren Ausführungsform unterstützen die Abstraktionen virtueller Netzwerke die Migration virtueller Maschinen an beliebiger Stelle innerhalb des Datenverarbeitungszentrums, ohne die Netzwerkadresse der virtuellen Maschine zu ändern und ihre Netzwerkverbindung zu verlieren.In one embodiment, virtual network abstractions support address independence between different virtual networks 1100 , For example, two different virtual machines operating in two different virtual networks may have the same IP address. As another example, abstractions of virtual networks support providing virtual machines that belong to the same virtual networks to different hosts that reside on different physical subnets (this also applies to switches and / or routers between the physical entities). In another embodiment, virtual machines belonging to different virtual networks may be hosted on the same physical host. In yet another embodiment, virtual network abstractions support the migration of virtual machines anywhere within the data processing center without changing the virtual machine's network address and losing its network connection.

Weitere Einzelheiten zu dieser Architektur siehe die Anmeldung „Virtual Switch Data Control in a Distributed Overlay Network”, Seriennummer 13/204 211, eingereicht am 5. August 2011, die durch Bezugnahme hierin eingeschlossen ist.For more details on this architecture, see the application "Virtual Switch Data Control in a Distributed Overlay Network," serial number 13/204 211, filed August 5, 2011, which is incorporated herein by reference.

12 veranschaulicht das Informationsverarbeitungssystem 1200, bei dem es sich um ein vereinfachtes Beispiel eines Computersystems handelt, das die hierin beschriebenen Datenverarbeitungsoperationen durchführen kann. Das Informationsverarbeitungssystem 1200 weist einen oder mehrere Prozessoren 1210 auf, die mit dem Prozessorschnittstellenbus 1212 verbunden sind. Der Prozessorschnittstellenbus 1212 verbindet die Prozessoren 1210 mit der Northbridge 1215, die auch als Memory Controller Hub (MCH) bezeichnet wird. Die Northbridge 1215 ist mit dem Systemspeicher 1220 verbunden und stellt dem Prozessor bzw. den Prozessoren 1210 den Zugriff auf den Systemspeicher bereit. Eine Grafiksteuereinheit 1225 ist ebenfalls mit der Northbridge 1215 verbunden. Bei einer Ausführungsform verbindet der PCI-Express-Bus 1218 die Northbridge 1215 mit der Grafiksteuereinheit 1225. Die Grafiksteuereinheit 1225 ist mit der Anzeigeeinheit 1230 verbunden, zum Beispiel mit einem Computerbildschirm. 12 illustrates the information processing system 1200 , which is a simplified example of a computer system that can perform the data processing operations described herein. The information processing system 1200 has one or more processors 1210 on that with the processor interface bus 1212 are connected. The processor interface bus 1212 connects the processors 1210 with the Northbridge 1215 which is also known as Memory Controller Hub (MCH). The Northbridge 1215 is with the system memory 1220 connected and provides the processor or processors 1210 access to system memory. A graphics controller 1225 is also with the Northbridge 1215 connected. In one embodiment, the PCI Express bus connects 1218 the northbridge 1215 with the graphics controller 1225 , The graphics controller 1225 is with the display unit 1230 connected, for example, with a computer screen.

Die Northbridge 1215 und die Southbridge 1235 sind über den Bus 1219 miteinander verbunden. Bei einer Ausführungsform ist der Bus ein DMI-Bus (DMI = Direct Media Interface), der Daten mit hoher Geschwindigkeit in beiden Richtungen zwischen der Northbridge 1215 und der Southbridge 1235 überträgt. Bei einer weiteren Ausführungsform verbindet ein PCI-Bus (PCI = Peripheral Component Interconnect) die Northbridge und die Southbridge miteinander. Die Southbridge 1235, die auch als I/O Controller Hub (ICH) bezeichnet wird, ist ein Chipsatz, der im Allgemeinen Funktionen realisiert, die mit geringerer Geschwindigkeit als die von der Northbridge bereitgestellten Funktionen ablaufen. Die Southbridge 1235 stellt normalerweise verschiedene Busse zum Anschluss verschiedener Komponenten bereit. Zu diesen Bussen gehören zum Beispiel der PCI- und der PCI-Express-Bus, ein ISA-Bus, ein System Management Bus (SMBus bzw. SMB) und/oder ein LPC-Bus (LPC = Low Pin Count). Der LPC-Bus dient oft zum Anschluss von Einheiten mit geringer Bandbreite, zum Beispiel von Urlader-ROM 1296 und „älteren” E/A-Einheiten (mithilfe eines „Super-I/O”-Chips). Zu den „älteren” E/A-Einheiten (1298) können zum Beispiel serielle und parallele Anschlüsse, Tastatur, Maus und/oder eine Diskettenlaufwerk-Steuereinheit gehören. Der LPC-Bus verbindet außerdem die Southbridge 1235 mit dem Trusted Platform Module (TPM) 1295. Zu weiteren Komponenten, die die Southbridge 1235 oft aufweist, gehören eine DMA-Steuereinheit (DMA = Direct Memory Access), eine PIC-Steuereinheit (PIC = Programmable Interrupt Controller) und eine Speichereinheit-Steuereinheit, die die Southbridge 1235 über den Bus 1284 mit der nichtflüchtigen Speichereinheit 1285 verbindet, zum Beispiel mit einem Festplattenlaufwerk.The Northbridge 1215 and the southbridge 1235 are over the bus 1219 connected with each other. In one embodiment, the bus is a direct media interface (DMI) bus that transfers high speed data in both directions between the northbridge 1215 and the Southbridge 1235 transfers. In another embodiment, a Peripheral Component Interconnect (PCI) bus connects the northbridge and southbridge. The Southbridge 1235 , also known as I / O Controller Hub (ICH), is a chipset that generally implements functions that run at a slower speed than the functions provided by the Northbridge. The Southbridge 1235 usually provides different buses for connecting different components. These buses include, for example, the PCI and PCI Express buses, an ISA bus, a System Management Bus (SMBus or SMB) and / or a LPC (LPC = Low Pin Count) bus. The LPC bus is often used to connect low-bandwidth devices such as bootstrap ROM 1296 and "older" I / O units (using a "super" I / O "chips). To the "older" I / O units ( 1298 ) may include, for example, serial and parallel ports, keyboard, mouse, and / or a floppy drive controller. The LPC bus also connects the Southbridge 1235 with the Trusted Platform Module (TPM) 1295 , Other components that the Southbridge 1235 often includes a DMA (Direct Memory Access) control unit, a PIC (Programmable Interrupt Controller) control unit, and a memory unit control unit that controls the southbridge 1235 over the bus 1284 with the non-volatile storage unit 1285 connects, for example, with a hard disk drive.

Die ExpressCard 1255 ist ein Steckplatz, über den Einheiten während des laufenden Betriebs an das Informationsverarbeitungssystem angeschlossen und von diesem getrennt werden können. Die ExpressCard 1255 unterstützt sowohl PCI-Express- als auch USB-Verbindungen, da sie sowohl über den Universal Serial Bus (USB) als auch über den PCI-Express-Bus an die Southbridge 1235 angeschlossen werden kann. Zur Southbridge 1235 gehört eine USB-Steuereinheit 1240, die USB-Verbindungen für die am USB angeschlossenen Einheiten bereitstellt. Zu diesen Einheiten gehören die Webcam (Kamera) 1250, der Infrarot-Empfänger (IR-Empfänger) 1248, die Tastatur und das Trackpad 1244 und die Bluetooth-Einheit 1246, die drahtlose Wireless Personal Area Networks (PANs) bereitstellt. Die USB-Steuereinheit 1240 stellt ebenfalls USB-Verbindungen für verschiedene andere über USB angeschlossene Einheiten 1242 bereit, zum Beispiel für eine Maus, für die nichtflüchtige Wechselspeichereinheit 1245, für Modems, Netzwerkkarten, ISDN-Steckverbinder, Fax, Drucker, USB-Hubs und viele andere über USB angeschlossene Einheiten. Obwohl die nichtflüchtige Wechselspeichereinheit 1245 als eine über USB angeschlossene Einheit dargestellt ist, könnte sie auch mithilfe anderer Schnittstellen angeschlossen sein, zum Beispiel mithilfe einer Firewire-Schnittstelle usw.The ExpressCard 1255 is a slot through which units can be connected to and disconnected from the information handling system during operation. The ExpressCard 1255 supports both PCI Express and USB connections as it connects to the Southbridge via both the Universal Serial Bus (USB) and the PCI Express bus 1235 can be connected. To the Southbridge 1235 includes a USB control unit 1240 which provides USB connections for the devices connected to the USB. These units include the webcam (camera) 1250 , the infrared receiver (IR receiver) 1248 , the keyboard and the trackpad 1244 and the bluetooth unit 1246 , which provides Wireless Wireless Personal Area Networks (PANs). The USB control unit 1240 also provides USB connections for various other USB-connected devices 1242 ready, for example for a mouse, for the non-volatile removable storage unit 1245 , for modems, network cards, ISDN connectors, fax, printers, USB hubs and many other USB-connected devices. Although the non-volatile removable storage unit 1245 As a USB-attached device, it could also be connected using other interfaces, such as a Firewire port, etc.

Die drahtlose LAN-Einheit (LAN = Wireless Local Area Network) 1275 ist mit der Southbridge 1235 über den PCI- oder PCI-Express-Bus 1272 verbunden. Die LAN-Einheit 1275 funktioniert normalerweise auf der Grundlage einer der Normen gemäß IEEE 802.11, in denen die Verfahren zur Modulation über die Luftschnittstelle geregelt sind, wobei bei all diesen Verfahren dasselbe Protokoll zum drahtlosen Datenaustausch zwischen dem Informationsverarbeitungssystem 1200 und einem anderen Computersystem oder einer anderen Einheit verwendet wird. Die optische Speichereinheit 1290 ist über den SATA-Bus (SATA = Serial ATA) 1288 mit der Southbridge 1235 verbunden. Serial-ATA-Adapter und -Einheiten tauschen Daten über eine schnelle serielle Verbindung miteinander aus. Der Serial-ATA-Bus verbindet außerdem die Southbridge 1235 mit anderen Formen von Speichereinheiten, zum Beispiel mit Festplattenlaufwerken. Die Audio-Schaltung 1260, zum Beispiel eine Soundkarte, ist über den Bus 1258 mit der Southbridge 1235 verbunden. Die Audio-Schaltung 1260 stellt außerdem Funktionalitäten wie zum Beispiel einen Anschluss 1262 für den Audio-Leitungseingang (Line-in) und optische digitale Audiosignale, eine Ausgangsbuchse 1264 für optische digitale Ausgangssignale und Kopfhörer, interne Lautsprecher 1266 und ein internes Mikrofon 1268 bereit. Die Ethernet-Steuereinheit 1270 ist mit der Southbridge 1235 über einen Bus verbunden, zum Beispiel über den PCI- oder den PCI-Express-Bus. Die Ethernet-Steuereinheit 1270 verbindet das Informationsverarbeitungssystem 1200 mit einem Computernetzwerk wie zum Beispiel mit einem Local Area Network (LAN), dem Internet und mit anderen öffentlichen und privaten Computernetzwerken.The wireless LAN unit (LAN = Wireless Local Area Network) 1275 is with the southbridge 1235 via the PCI or PCI Express bus 1272 connected. The LAN unit 1275 normally operates on the basis of one of the IEEE 802.11 standards governing air-interface modulation techniques, all of which use the same protocol for wireless communication between the information handling system 1200 and another computer system or unit. The optical storage unit 1290 is via the SATA bus (SATA = Serial ATA) 1288 with the southbridge 1235 connected. Serial ATA adapters and devices exchange data over a fast serial connection. The Serial ATA bus also connects the Southbridge 1235 with other forms of storage devices, such as hard disk drives. The audio circuit 1260 For example, a sound card is over the bus 1258 with the southbridge 1235 connected. The audio circuit 1260 also provides functionalities such as a connection 1262 for the audio line in and optical digital audio, an output jack 1264 for optical digital output signals and headphones, internal speakers 1266 and an internal microphone 1268 ready. The Ethernet control unit 1270 is with the southbridge 1235 connected via a bus, for example via the PCI or the PCI Express bus. The Ethernet control unit 1270 connects the information processing system 1200 with a computer network such as a Local Area Network (LAN), the Internet, and other public and private computer networks.

Obwohl 12 ein Informationsverarbeitungssystem zeigt, kann ein Informationsverarbeitungssystem viele Formen annehmen. Beispielsweise kann ein Informationsverarbeitungssystem die Form eines Desktops, Servers, transportablen Computers, Laptops, Notebooks oder eines Computers oder Datenverarbeitungssystems mit einem anderen Formfaktor annehmen. Darüber hinaus kann ein Informationssystem andere Formfaktoren annehmen, zum Beispiel den eines Personal Digital Assistant (PDA), einer Spieleeinheit, eines Geldautomaten (ATM), einer transportablen Telefoneinheit, einer Kommunikationseinheit oder den Formfaktor anderer Einheiten, die einen Prozessor und einen Speicher enthalten.Even though 12 an information processing system, an information processing system may take many forms. For example, an information handling system may take the form of a desktop, server, portable computer, laptop, notebook or a computer or data processing system having a different form factor. In addition, an information system may take other form factors, such as a personal digital assistant (PDA), a gaming device, an ATM, a portable telephone unit, a communication unit, or the form factor of other units containing a processor and memory.

Das zur Bereitstellung von Sicherheitsfunktionen in der 12 gezeigte und hierin beschriebene Trusted Platform Module (TPM 1295) ist lediglich ein Beispiel eines Hardware-Sicherheitsmoduls (HSM). Daher weist das hierin beschriebene und beanspruchte TPM alle Arten von HSM auf, darunter und ohne Beschränkung auf die Aufzählung, Hardware-Sicherheitseinheiten, die der Norm der Trusted Computing Groups (TCG) mit dem Titel „Trusted Platform Module (TPM) Specification Version 1.2” entsprechen. Das TPM ist ein Hardware-Sicherheitsteilsystem, das in eine beliebige Anzahl von Informationsverarbeitungssystemen eingebunden werden kann, zum Beispiel in die in 13 dargestellten Informationsverarbeitungssysteme.The purpose of providing security features in the 12 Trusted Platform Module (TPM 1295 ) is just one example of a hardware security module (HSM). Therefore, the TPM described and claimed herein has all types of HSM, including, but not limited to, hardware security devices that conform to the Trusted Computing Groups (TCG) standard entitled "Trusted Platform Module (TPM) Specification Version 1.2". correspond. The TPM is a hardware security subsystem that can be incorporated into any number of information handling systems, for example, the in 13 represented information processing systems.

13 stellt eine Erweiterung der in 12 gezeigten Informationsverarbeitungssystem-Umgebung bereit, um zu veranschaulichen, dass die hierin beschriebenen Verfahren auf einer großen Vielfalt von Informationsverarbeitungssystemen durchgeführt werden können, die in einer vernetzten Umgebung arbeiten. Die Arten von Informationssystemen reichen von kleinen Handeinheiten, zum Beispiel dem Handcomputer/Mobiltelefon 1310, bis hin zu Großrechnersystemen wie zum Beispiel dem Großrechner 1370. Zu Beispielen für den Handcomputer 1310 zählen Personal Digital Assistants (PDAs), persönliche Unterhaltungseinheiten wie zum Beispiel MP3-Player, transportable Fernsehgeräte und Compact-Disc-Player. Weitere Beispiele für Informationsverarbeitungssysteme sind mit einem Stift bedienbare Computer oder der Tablet-Computer 1320, der Laptop- oder Notebook-Computer 1330, die Workstation 1340, das Personal-Computer-System 1350 und der Server 1360. Andere Arten von Informationsverarbeitungssystemen, die in 13 nicht im Einzelnen gezeigt sind, sind durch das Informationsverarbeitungssystem 1380 wiedergegeben. Wie gezeigt können die verschiedenen Informationsverarbeitungssysteme mithilfe des Computernetzwerks 1300 miteinander vernetzt sein. Zu den Arten von Computernetzwerken, die zur Verbindung der verschiedenen Informationsverarbeitungssysteme verwendet werden können, gehören Local Area Networks (LANs), Wireless Local Area Networks (WLANs), das Internet, das öffentliche Telefon-Festnetz (Public Switched Telephone Network, PSTN), andere drahtlose Netzwerke und alle anderen Netzwerktopologien, die zur Verbindung der Informationsverarbeitungssysteme untereinander verwendet werden können. Viele der Informationsverarbeitungssysteme enthalten nichtflüchtige Datenspeicher wie zum Beispiel Festplattenlaufwerke und/oder einen nichtflüchtigen Speicher. Bei einigen der in 13 gezeigten Informationsverarbeitungssysteme sind separate nichtflüchtige Datenspeicher abgebildet (der Server 1360 nutzt den nichtflüchtigen Datenspeicher 1365, der Großrechner 1370 nutzt den nichtflüchtigen Datenspeicher 1375, und das Informationsverarbeitungssystem 1380 nutzt den nichtflüchtigen Datenspeicher 1385). Bei dem nichtflüchtigen Datenspeicher kann es sich um eine Komponente handeln, die sich außerhalb der verschiedenen Informationsverarbeitungssysteme befinden oder in eines der Informationsverarbeitungssysteme integriert sein kann. Darüber hinaus kann die nichtflüchtige Wechselspeichereinheit 1245 mithilfe mehrerer Methoden von zwei oder mehr Informationsverarbeitungssystemen gemeinsam genutzt werden, zum Beispiel durch Verbinden der nichtflüchtigen Wechselspeichereinheit 1245 mit einem USB-Anschluss oder mit einem anderen Steckverbinder des Informationsverarbeitungssystems. 13 represents an extension of in 12 The information processing system environment shown in FIG. 12 may be used to illustrate that the methods described herein may be performed on a wide variety of information processing systems operating in a networked environment. The types of information systems range from small hand units, for example, the handheld computer / mobile phone 1310 , to mainframe systems such as the mainframe 1370 , Examples of the handheld computer 1310 include personal digital assistants (PDAs), personal entertainment devices such as MP3 players, portable televisions and compact disc players. Other examples of information processing systems are pen-operated computers or the tablet computer 1320 , the laptop or notebook computer 1330 , the workstation 1340 , the personal computer system 1350 and the server 1360 , Other types of information processing systems used in 13 are not shown in detail by the information processing system 1380 played. As shown, the various information processing systems can use the computer network 1300 be networked with each other. Types of computer networks that can be used to interconnect the various information handling systems include Local Area Networks (LANs), Wireless Local Area Networks (WLANs), the Internet, the public switched telephone network (PSTN), others wireless networks and all other network topologies that can be used to interconnect the information handling systems. Many of the information handling systems include nonvolatile data storage such as hard disk drives and / or nonvolatile storage. For some of the in 13 shown information processing systems are mapped separate non-volatile data storage (the server 1360 uses the nonvolatile data storage 1365 , the mainframe 1370 uses the nonvolatile data storage 1375 , and the information processing system 1380 uses the nonvolatile data storage 1385 ). The nonvolatile data storage may be a component that is external to the various information processing systems or that may be integrated with one of the information handling systems. In addition, the nonvolatile removable storage unit 1245 be shared by two or more information processing systems using multiple methods, for example, by connecting the nonvolatile removable storage device 1245 with a USB port or with another connector of the information processing system.

Obwohl bestimmte Ausführungsformen der vorliegenden Offenbarung dargestellt und beschrieben wurden, wird für den Fachmann offensichtlich sein, dass auf der Grundlage der Erläuterungen im vorliegenden Dokument Änderungen und Modifikationen vorgenommen werden können, ohne von der vorliegenden Offenbarung und ihren weiter gefassten Aspekten abzuweichen. Daher schließen die beigefügten Ansprüche in ihren Schutzbereich alle derartigen Änderungen und Modifikationen als innerhalb des eigentlichen Ideengehalts und Schutzbereiches der vorliegenden Offenbarung liegend ein. Des Weiteren versteht es sich, dass die Offenbarung ausschließlich in den beigefügten Ansprüchen definiert ist. Für den Fachmann wird klar sein, dass, wenn für ein aufgeführtes Anspruchselement eine bestimmte Zahl vorgesehen ist, diese Zahl ausdrücklich im Anspruch erwähnt wird, bei Fehlen einer derartigen Nennung jedoch keine Einschränkung vorliegt. In den folgenden beigefügten Ansprüchen dient die Verwendung einleitender Formulierungen wie z. B. „mindestens ein/eine” und „ein/eine oder mehrere” zur Einleitung von Anspruchselementen und zur Erleichterung des Verständnisses und ist nicht als Einschränkung zu betrachten. Die Verwendung derartiger Formulierungen ist jedoch nicht so auszulegen, dass die Einleitung eines Anspruchselements durch den unbestimmten Artikel „ein/eine” einen bestimmten Anspruch, der ein derartig eingeleitetes Anspruchselement enthält, im Vergleich zu Offenbarungen einschränkt, die nur ein derartiges Element enthalten, selbst wenn derselbe Anspruch die einleitenden Formulierungen „ein/eine oder mehrere” oder „mindestens ein/eine” und unbestimmte Artikel wie „ein” oder „eine” enthält; dasselbe gilt für die Verwendung von bestimmten Artikeln in den Ansprüchen.While particular embodiments of the present disclosure have been illustrated and described, it will be obvious to those skilled in the art that changes and modifications may be made to the invention without departing from the present disclosure and broader aspects thereof. Therefore, the appended claims include within their scope all such changes and modifications as are within the true spirit and scope of the present disclosure. It is further to be understood that the disclosure is defined solely in the appended claims. It will be clear to the person skilled in the art that if a certain number is provided for a listed claim element, this figure is expressly mentioned in the claim, but in the absence of such a mention there is no restriction. In the following appended claims, the use of preliminary formulations such as e.g. For example, "at least one" and "one or more" to initiate claim elements and to facilitate understanding and is not to be considered as limiting. However, the use of such formulations is not to be construed as limiting the initiation of a claim element by the indefinite article "one" to a particular claim containing such a claimed claim element as compared to disclosures containing only such an element, even if the same claim contains the introductory wording "one or more" or "at least one" and indefinite articles such as "a" or "an"; the same applies to the use of certain articles in the claims.

Claims (25)

Verfahren, aufweisend: Empfangen einer Migrationsanforderung, um eine virtuelle Maschine zu verlagern, die auf einem ersten System ausgeführt wird; Erkennen eines ersten Netzwerkadapters, der dem ersten System entspricht, wobei der erste Netzwerkadapter Hardwarezustandsdaten aufweist, die zur Verarbeitung von Datenpaketen verwendet werden, die durch die virtuelle Maschine erzeugt wurden, die Hardwaredaten in einem systemeigenen Format in einem Speicherbereich gespeichert sind, der sich auf dem ersten Netzwerkadapter befindet; Erkennen eines zweiten Netzwerkadapters, der mit dem systemeigenen Format kompatibel ist, wobei der zweite Netzwerkadapter in einem zweiten System enthalten ist; und Migrieren der virtuellen Maschine auf das zweite System.Method, comprising Receiving a migration request to relocate a virtual machine running on a first system; Detecting a first network adapter corresponding to the first system, wherein the first network adapter has hardware state data used to process data packets generated by the virtual machine that stores hardware data in a native format in a memory area located on the network device first network adapter is located; Detecting a second network adapter that is compatible with the native format, the second network adapter being included in a second system; and Migrate the virtual machine to the second system. Verfahren nach Anspruch 1, wobei das Erkennen des zweiten Netzwerkadapters ferner aufweist: Erkennen einer oder mehrerer erster Netzwerkadaptereigenschaften, die dem ersten Netzwerkadapter entsprechen; Erkennen einer oder mehrerer zweiter Netzwerkadaptereigenschaften, die dem zweiten Netzwerkadapter entsprechen; und Feststellen, dass jede der einen oder mehreren ersten Netzwerkadaptereigenschaften mit einer der einen oder mehreren zweiten Netzwerkadaptereigenschaften gleichwertig ist.The method of claim 1, wherein recognizing the second network adapter further comprises: Detecting one or more first network adapter properties corresponding to the first network adapter; Detecting one or more second network adapter properties corresponding to the second network adapter; and Determining that each of the one or more first network adapter properties is equivalent to one of the one or more second network adapter properties. Verfahren nach Anspruch 2, wobei jede der einen oder mehreren ersten Netzwerkadaptereigenschaften mit einer der zweiten Netzwerkadaptereigenschaften übereinstimmt. The method of claim 2, wherein each of the one or more first network adapter properties matches one of the second network adapter properties. Verfahren nach Anspruch 1, wobei das erste System einen ersten Host aufweist und das zweite System einen zweiten Host aufweist und das Verfahren ferner aufweist: Erkennen einer oder mehrerer erster Host-Anforderungen, die der virtuellen Maschine entsprechen, wobei mindestens eine der ersten Host-Anforderungen ausgewählt ist aus der Gruppe, bestehend aus einer Verarbeitungsanforderung, einer Speicheranforderung und einer Bandbreitenanforderung; und Feststellen, dass der zweite Host jede der einen oder mehreren ersten Host-Anforderungen unterstützt.The method of claim 1, wherein the first system comprises a first host and the second system comprises a second host and the method further comprises: Detecting one or more first host requests that correspond to the virtual machine, wherein at least one of the first host requests is selected from the group consisting of a processing request, a memory request, and a bandwidth request; and Determining that the second host supports each of the one or more first host requests. Verfahren nach Anspruch 1, wobei die Datenpakete gemäß einem zustandsbehafteten Auslagerungsformat verarbeitet werden, das ausgewählt ist aus der Gruppe, bestehend aus einem RDMA-Format (RDMA = Remote Direct Memory Access), einem iWARP-Format (iWARP = Internet Wide RDMA Protocol), einem IB-Format (IB = Infiniband) und einem TOE-Format (TOE = TCP Offload Engine).The method of claim 1, wherein the data packets are processed according to a stateful paging format selected from the group consisting of a Remote Direct Memory Access (RDMA) format, an Internet Wide RDMA Protocol (iWARP) format, an IB format (IB = Infiniband) and a TOE format (TOE = TCP Offload Engine). Verfahren nach Anspruch 5, wobei die Datenpakete durch den ersten Netzwerkadapter über eine Überlagerungsnetzwerk-Umgebung an eine virtuelle Zielmaschine gesendet werden und die Überlagerungsnetzwerk-Umgebung ein oder mehrere virtuelle Netzwerke aufweist, die unabhängig von Einschränkungen der physischen Topologie eines physischen Netzwerks sind.The method of claim 5, wherein the data packets are sent by the first network adapter to a destination virtual machine via an overlay network environment and the overlay network environment comprises one or more virtual networks that are independent of physical network topology limitations. Verfahren nach Anspruch 6, wobei die Überlagerungsnetzwerk-Umgebung einen verteilten Richtliniendienst aufweist, der feststellt, dass der zweite Netzwerkadapter mit dem ersten Netzwerkadapter gleichwertig ist.The method of claim 6, wherein the overlay network environment comprises a distributed policy service determining that the second network adapter is equivalent to the first network adapter. Verfahren nach Anspruch 1, ferner aufweisend: Wiederaufnehmen der Ausführung der virtuellen Maschine auf dem zweiten System gemäß den Hardwarezustandsdaten; und Freigeben einer oder mehrerer Ressourcen auf dem ersten System als Reaktion auf das Wiederaufnehmen der Ausführung der virtuellen Maschine auf dem zweiten System.The method of claim 1, further comprising: Resuming execution of the virtual machine on the second system according to the hardware state data; and Releasing one or more resources on the first system in response to resuming the execution of the virtual machine on the second system. Informationsverarbeitungssystem, aufweisend: einen oder mehrere Prozessoren; einen Speicher, der mit mindestens einem der Prozessoren verbunden ist; eine Gruppe von Computerprogrammanweisungen, die im Speicher gespeichert sind und durch mindestens einen der Prozessoren ausgeführt werden, um die folgenden Aktionen durchzuführen: Empfangen einer Migrationsanforderung, um eine virtuelle Maschine zu verlagern, die auf einem ersten System ausgeführt wird; Erkennen eines ersten Netzwerkadapters, der dem ersten System entspricht, wobei der erste Netzwerkadapter Hardwarezustandsdaten aufweist, die zur Verarbeitung von Datenpaketen verwendet werden, die durch die virtuelle Maschine erzeugt wurden, die Hardwaredaten in einem systemeigenen Format in einem Speicherbereich gespeichert sind, der sich auf dem ersten Netzwerkadapter befindet; Erkennen eines zweiten Netzwerkadapters, der mit dem systemeigenen Format kompatibel ist, wobei der zweite Netzwerkadapter in einem zweiten System enthalten ist; und Migrieren der virtuellen Maschine auf das zweite System.Information processing system, comprising: one or more processors; a memory connected to at least one of the processors; a set of computer program instructions stored in memory and executed by at least one of the processors to perform the following actions: Receiving a migration request to relocate a virtual machine running on a first system; Detecting a first network adapter corresponding to the first system, wherein the first network adapter has hardware state data used to process data packets generated by the virtual machine that stores hardware data in a native format in a memory area located on the network device first network adapter is located; Detecting a second network adapter that is compatible with the native format, the second network adapter being included in a second system; and Migrate the virtual machine to the second system. Informationsverarbeitungssystem nach Anspruch 9, bei dem die Prozessoren zusätzliche Aktionen durchführen, aufweisend: Erkennen einer oder mehrerer erster Netzwerkadaptereigenschaften, die dem ersten Netzwerkadapter entsprechen; Erkennen einer oder mehrerer zweiter Netzwerkadaptereigenschaften, die dem zweiten Netzwerkadapter entsprechen; und Feststellen, dass jede der einen oder mehreren ersten Netzwerkadaptereigenschaften mit einer der einen oder mehreren zweiten Netzwerkadaptereigenschaften gleichwertig ist.The information handling system of claim 9, wherein the processors perform additional actions, comprising: Detecting one or more first network adapter properties corresponding to the first network adapter; Detecting one or more second network adapter properties corresponding to the second network adapter; and Determining that each of the one or more first network adapter properties is equivalent to one of the one or more second network adapter properties. Informationsverarbeitungssystem nach Anspruch 10, wobei jede der einen oder mehreren ersten Netzwerkadaptereigenschaften mit einer der zweiten Netzwerkadaptereigenschaften übereinstimmt.The information handling system of claim 10, wherein each of the one or more first network adapter properties matches one of the second network adapter properties. Informationsverarbeitungssystem nach Anspruch 9, wobei das erste System einen ersten Host aufweist und das zweite System einen zweiten Host aufweist, und wobei die Prozessoren zusätzliche Aktionen durchführen, aufweisend: Erkennen einer oder mehrerer erster Host-Anforderungen, die der virtuellen Maschine entsprechen, wobei mindestens eine der ersten Host-Anforderungen ausgewählt ist aus der Gruppe, bestehend aus einer Verarbeitungsanforderung, einer Speicheranforderung und einer Bandbreitenanforderung; und Feststellen, dass der zweite Host jede der einen oder mehreren ersten Host-Anforderungen unterstützt.The information handling system of claim 9, wherein the first system has a first host and the second system has a second host, and wherein the processors perform additional actions, comprising: Detecting one or more first host requests that correspond to the virtual machine, wherein at least one of the first host requests is selected from the group consisting of a processing request, a memory request, and a bandwidth request; and Determining that the second host supports each of the one or more first host requests. Informationsverarbeitungssystem nach Anspruch 9, wobei die Datenpakete gemäß einem zustandsbehafteten Auslagerungsformat verarbeitet werden, das ausgewählt ist aus der Gruppe, bestehend aus einem RDMA-Format (RDMA = Remote Direct Memory Access), einem iWARP-Format (iWARP = Internet Wide RDMA Protocol), einem IB-Format (IB = Infiniband) und einem TOE-Format (TOE = TCP Offload Engine).The information processing system of claim 9, wherein the data packets are processed according to a stateful paging format selected from the group consisting of a Remote Direct Memory Access (RDMA) format, an Internet Wide RDMA Protocol (iWARP) format, an IB format (IB = Infiniband) and a TOE format (TOE = TCP Offload Engine). Informationsverarbeitungssystem nach Anspruch 13, wobei die Datenpakete durch den ersten Netzwerkadapter über eine Überlagerungsnetzwerk-Umgebung an eine virtuelle Zielmaschine gesendet werden und die Überlagerungsnetzwerk-Umgebung ein oder mehrere virtuelle Netzwerke aufweist, die unabhängig von Einschränkungen der physischen Topologie eines physischen Netzwerks sind.The information handling system of claim 13, wherein the data packets are sent by the first network adapter to a destination virtual machine via an overlay network environment and the overlay network environment comprises one or more virtual networks that are independent of physical network topology limitations. Informationsverarbeitungssystem nach Anspruch 14, wobei das Informationsverarbeitungssystem ein verteilter Richtliniendienst ist, der in der Überlagerungsnetzwerk-Umgebung enthalten ist.The information processing system according to claim 14, wherein the information processing system is a distributed policy service included in the overlay network environment. Informationsverarbeitungssystem nach Anspruch 9, bei dem die Prozessoren zusätzliche Aktionen durchführen, aufweisend: Wiederaufnehmen der Ausführung der virtuellen Maschine auf dem zweiten System gemäß den Hardwarezustandsdaten; und Freigeben einer oder mehrerer Ressourcen auf dem ersten System als Reaktion auf das Wiederaufnehmen der Ausführung der virtuellen Maschine auf dem zweiten System.The information handling system of claim 9, wherein the processors perform additional actions, comprising: Resuming execution of the virtual machine on the second system according to the hardware state data; and Releasing one or more resources on the first system in response to resuming the execution of the virtual machine on the second system. Computerprogrammprodukt, das auf einem computerlesbaren Medium gespeichert ist und Computerprogrammcode aufweist, der bei Ausführung durch ein Informationsverarbeitungssystem das Informationsverarbeitungssystem veranlasst, Aktionen durchzuführen, aufweisend: Empfangen einer Migrationsanforderung, um eine virtuelle Maschine zu verlagern, die auf einem ersten System ausgeführt wird; Erkennen eines ersten Netzwerkadapters, der dem ersten System entspricht, wobei der erste Netzwerkadapter Hardwarezustandsdaten aufweist, die zur Verarbeitung von Datenpaketen verwendet werden, die durch die virtuelle Maschine erzeugt wurden, die Hardwaredaten in einem systemeigenen Format in einem Speicherbereich gespeichert sind, der sich auf dem ersten Netzwerkadapter befindet; Erkennen eines zweiten Netzwerkadapters, der mit dem systemeigenen Format kompatibel ist, wobei der zweite Netzwerkadapter in einem zweiten System enthalten ist; und Migrieren der virtuellen Maschine auf das zweite System.A computer program product stored on a computer readable medium and having computer program code that, when executed by an information handling system, causes the information processing system to perform actions comprising: Receiving a migration request to relocate a virtual machine running on a first system; Detecting a first network adapter corresponding to the first system, wherein the first network adapter has hardware state data used to process data packets generated by the virtual machine that stores hardware data in a native format in a memory area located on the network device first network adapter is located; Detecting a second network adapter that is compatible with the native format, the second network adapter being included in a second system; and Migrate the virtual machine to the second system. Computerprogrammprodukt nach Anspruch 17, bei dem das Informationsverarbeitungssystem zusätzliche Aktionen durchführt, aufweisend: Erkennen einer oder mehrerer erster Netzwerkadaptereigenschaften, die dem ersten Netzwerkadapter entsprechen; Erkennen einer oder mehrerer zweiter Netzwerkadaptereigenschaften, die dem zweiten Netzwerkadapter entsprechen; und Feststellen, dass jede der einen oder mehreren ersten Netzwerkadaptereigenschaften mit einer der einen oder mehreren zweiten Netzwerkadaptereigenschaften gleichwertig ist.The computer program product of claim 17, wherein the information handling system performs additional actions, comprising: Detecting one or more first network adapter properties corresponding to the first network adapter; Detecting one or more second network adapter properties corresponding to the second network adapter; and Determining that each of the one or more first network adapter properties is equivalent to one of the one or more second network adapter properties. Computerprogrammprodukt nach Anspruch 18, wobei jede der einen oder mehreren ersten Netzwerkadaptereigenschaften mit einer der zweiten Netzwerkadaptereigenschaften übereinstimmt.The computer program product of claim 18, wherein each of the one or more first network adapter properties matches one of the second network adapter properties. Computerprogrammprodukt nach Anspruch 17, wobei das erste System einen ersten Host aufweist und das zweite System einen zweiten Host aufweist, und wobei das Informationsverarbeitungssystem zusätzliche Aktionen durchführt, aufweisend: Erkennen einer oder mehrerer erster Host-Anforderungen, die der virtuellen Maschine entsprechen, wobei mindestens eine der ersten Host-Anforderungen ausgewählt ist aus der Gruppe, bestehend aus einer Verarbeitungsanforderung, einer Speicheranforderung und einer Bandbreitenanforderung; und Feststellen, dass der zweite Host jede der einen oder mehreren ersten Host-Anforderungen unterstützt.The computer program product of claim 17, wherein the first system has a first host and the second system has a second host, and wherein the information handling system performs additional actions, comprising: Detecting one or more first host requests that correspond to the virtual machine, wherein at least one of the first host requests is selected from the group consisting of a processing request, a memory request, and a bandwidth request; and Determining that the second host supports each of the one or more first host requests. Computerprogrammprodukt nach Anspruch 17, wobei die Datenpakete gemäß einem zustandsbehafteten Auslagerungsformat verarbeitet werden, das ausgewählt ist aus der Gruppe, bestehend aus einem RDMA-Format (RDMA = Remote Direct Memory Access), einem iWARP-Format (iWARP = Internet Wide RDMA Protocol), einem IB-Format (IB = Infiniband) und einem TOE-Format (TOE = TCP Offload Engine).The computer program product of claim 17, wherein the data packets are processed according to a stateful swap format selected from the group consisting of a Remote Direct Memory Access (RDMA) format, an Internet Wide RDMA Protocol (iWARP) format, an IB format (IB = Infiniband) and a TOE format (TOE = TCP Offload Engine). Computerprogrammprodukt nach Anspruch 21, wobei die Datenpakete durch den ersten Netzwerkadapter über eine Überlagerungsnetzwerk-Umgebung an eine virtuelle Zielmaschine gesendet werden und die Überlagerungsnetzwerk-Umgebung ein oder mehrere virtuelle Netzwerke aufweist, die unabhängig von Einschränkungen der physischen Topologie eines physischen Netzwerks sind.The computer program product of claim 21, wherein the data packets are sent by the first network adapter to a destination virtual machine via an overlay network environment and the overlay network environment comprises one or more virtual networks that are independent of physical network topology limitations. Computerprogrammprodukt nach Anspruch 22, wobei die Überlagerungsnetzwerk-Umgebung einen verteilten Richtliniendienst aufweist, der feststellt, dass der zweite Netzwerkadapter mit dem ersten Netzwerkadapter gleichwertig ist.The computer program product of claim 22, wherein the overlay network environment comprises a distributed policy service determining that the second network adapter is equivalent to the first network adapter. Computerprogrammprodukt nach Anspruch 17, bei dem das Informationsverarbeitungssystem zusätzliche Aktionen durchführt, aufweisend: Wiederaufnehmen der Ausführung der virtuellen Maschine auf dem zweiten System gemäß den Hardwarezustandsdaten; und Freigeben einer oder mehrerer Ressourcen auf dem ersten System als Reaktion auf das Wiederaufnehmen der Ausführung der virtuellen Maschine auf dem zweiten System.The computer program product of claim 17, wherein the information handling system performs additional actions, comprising: Resuming execution of the virtual machine on the second system according to the hardware state data; and releasing one or more resources on the first system in response to resuming execution of the virtual machine on the second system. Verfahren, aufweisend: Empfangen einer Migrationsanforderung, um eine virtuelle Maschine zu verlagern, die auf einem ersten System ausgeführt wird, wobei das erste System einen ersten Netzwerkadapter aufweist; Erkennen einer oder mehrerer Host-Anforderungen, die der virtuellen Maschine entsprechen; Erkennen einer Vielzahl kompatibler Hosts, die jeweils die eine oder mehreren Host-Anforderungen unterstützen; Erkennen einer oder mehrerer erster Netzwerkadaptereigenschaften, die dem ersten Netzwerkadapter entsprechen; Auswählen eines zweiten Netzwerkadapters, der einem aus der Vielzahl kompatibler Hosts entspricht, der mit jeder der einen oder mehreren ersten Netzwerkadaptereigenschaften gleichwertig ist; und Migrieren der virtuellen Maschine auf ein zweites System, das den ausgewählten zweiten Netzwerkadapter aufweist.Method, comprising Receiving a migration request to relocate a virtual machine running on a first system, the first system having a first network adapter; Detecting one or more host requests that correspond to the virtual machine; Detecting a plurality of compatible hosts, each supporting the one or more host requests; Detecting one or more first network adapter properties corresponding to the first network adapter; Selecting a second network adapter that corresponds to one of the plurality of compatible hosts that is equivalent to each of the one or more first network adapter properties; and Migrate the virtual machine to a second system that has the selected second network adapter.
DE112012003808.8T 2011-10-04 2012-09-26 Determine the migration of the network adapter hardware health in a healthful environment Ceased DE112012003808T5 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/252,649 2011-10-04
US13/252,649 US20130083690A1 (en) 2011-10-04 2011-10-04 Network Adapter Hardware State Migration Discovery in a Stateful Environment
PCT/CN2012/082060 WO2013049991A1 (en) 2011-10-04 2012-09-26 Network adapter hardware state migration discovery in a stateful environment

Publications (1)

Publication Number Publication Date
DE112012003808T5 true DE112012003808T5 (en) 2014-06-05

Family

ID=47992505

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012003808.8T Ceased DE112012003808T5 (en) 2011-10-04 2012-09-26 Determine the migration of the network adapter hardware health in a healthful environment

Country Status (5)

Country Link
US (2) US20130083690A1 (en)
CN (1) CN103843302B (en)
DE (1) DE112012003808T5 (en)
GB (1) GB2510508B (en)
WO (1) WO2013049991A1 (en)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918785B1 (en) 2010-12-29 2014-12-23 Amazon Technologies, Inc. Managing virtual machine network through security assessment
US8745734B1 (en) 2010-12-29 2014-06-03 Amazon Technologies, Inc. Managing virtual computing testing
US9608831B2 (en) * 2012-06-22 2017-03-28 Facebook, Inc. Migrating a chat message service provided by a chat server to a new chat server
US11966355B2 (en) * 2013-03-10 2024-04-23 Mellanox Technologies, Ltd. Network adapter with a common queue for both networking and data manipulation work requests
US9990221B2 (en) 2013-03-15 2018-06-05 Oracle International Corporation System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment
US9477500B2 (en) 2013-03-15 2016-10-25 Avi Networks Managing and controlling a distributed network service platform
US10051054B2 (en) 2013-03-15 2018-08-14 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
US9830236B2 (en) * 2013-06-05 2017-11-28 Vmware, Inc. System and method for assigning memory reserved for high availability failover to virtual machines
US9288361B2 (en) 2013-06-06 2016-03-15 Open Text S.A. Systems, methods and computer program products for fax delivery and maintenance
US10002059B2 (en) 2013-06-13 2018-06-19 Vmware, Inc. System and method for assigning memory available for high availability failover to virtual machines
JPWO2014199646A1 (en) * 2013-06-13 2017-02-23 日本電気株式会社 Service quality control method and control apparatus in communication system, and communication apparatus
US9053068B2 (en) 2013-09-25 2015-06-09 Red Hat Israel, Ltd. RDMA-based state transfer in virtual machine live migration
CN103530167B (en) * 2013-09-30 2017-04-05 华为技术有限公司 The moving method and relevant apparatus of a kind of virtual machine memory data and group system
US9854036B2 (en) 2013-09-30 2017-12-26 Huawei Technologies Co., Ltd. Method for migrating memory data of virtual machine, and related apparatus and cluster system
US10489200B2 (en) * 2013-10-23 2019-11-26 Nvidia Corporation Hierarchical staging areas for scheduling threads for execution
US9548890B2 (en) 2014-03-17 2017-01-17 Cisco Technology, Inc. Flexible remote direct memory access resource configuration in a network environment
US9787590B2 (en) 2014-03-25 2017-10-10 Mellanox Technologies, Ltd. Transport-level bonding
CN103942087B (en) * 2014-03-31 2017-11-17 华为技术有限公司 Live migration of virtual machine method and relevant apparatus and group system
US10324743B2 (en) * 2014-08-27 2019-06-18 Red Hat Israel, Ltd. Announcing virtual machine migration
JP6432955B2 (en) * 2014-11-03 2018-12-05 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Method, apparatus and system for migrating virtual network function instances
US10067800B2 (en) * 2014-11-06 2018-09-04 Vmware, Inc. Peripheral device sharing across virtual machines running on different host computing systems
CN109076091A (en) * 2015-10-19 2018-12-21 中兴通讯(美国)公司 Method and system for automated network migration
US10616118B2 (en) 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US9846602B2 (en) 2016-02-12 2017-12-19 International Business Machines Corporation Migration of a logical partition or virtual machine with inactive input/output hosting server
US10169065B1 (en) 2016-06-29 2019-01-01 Altera Corporation Live migration of hardware accelerated applications
JP6929863B2 (en) 2016-08-23 2021-09-01 オラクル・インターナショナル・コーポレイション Systems and methods to support high-speed hybrid reconstruction in high-performance computing environments
US10360058B2 (en) * 2016-11-28 2019-07-23 International Business Machines Corporation Input/output component selection for virtual machine migration
US10346191B2 (en) * 2016-12-02 2019-07-09 Wmware, Inc. System and method for managing size of clusters in a computing environment
CN109168328B (en) * 2017-05-05 2020-10-23 华为技术有限公司 Virtual machine migration method and device and virtualization system
CN109144972B (en) * 2017-06-26 2022-07-12 华为技术有限公司 Data migration method and data node
CN109426547B (en) * 2017-09-04 2022-05-17 华为技术有限公司 Thermal migration method, device and system of virtual machine
US11258760B1 (en) 2018-06-22 2022-02-22 Vmware, Inc. Stateful distributed web application firewall
US10901781B2 (en) 2018-09-13 2021-01-26 Cisco Technology, Inc. System and method for migrating a live stateful container
US10771318B1 (en) 2018-10-24 2020-09-08 Vmware, Inc High availability on a distributed networking platform
US11023219B2 (en) * 2019-01-16 2021-06-01 Vmware, Inc. Upgrade implementation of a virtualization management system
US11080083B1 (en) 2019-08-28 2021-08-03 Juniper Networks, Inc. Providing physical host hardware state information to virtual machines deployed on the physical host
US11163600B2 (en) 2019-08-28 2021-11-02 Juniper Networks, Inc. Providing physical host state information to virtual machines deployed on the physical host
CN111245794B (en) * 2019-12-31 2021-01-22 中科驭数(北京)科技有限公司 Data transmission method and device
US11561821B1 (en) * 2020-05-07 2023-01-24 Amazon Technologies, Inc. Controlling placement of virtualized resources based on desirability index for host pools
CN113485756A (en) * 2021-06-30 2021-10-08 深圳市科力锐科技有限公司 Hardware equipment configuration method, device, equipment and storage medium
CN113535266B (en) * 2021-07-15 2023-03-14 上海高仙自动化科技发展有限公司 Hardware device adaptation method and device, chip and electronic device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156490B2 (en) 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US7257811B2 (en) 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7656894B2 (en) 2005-10-28 2010-02-02 Microsoft Corporation Offloading processing tasks to a peripheral device
US8521912B2 (en) 2006-01-12 2013-08-27 Broadcom Corporation Method and system for direct device access
US7484029B2 (en) 2006-02-09 2009-01-27 International Business Machines Corporation Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
US20080189432A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US8005013B2 (en) 2007-06-12 2011-08-23 Hewlett-Packard Development Company, L.P. Managing connectivity in a virtual network
US7937698B2 (en) 2007-08-02 2011-05-03 International Business Machines Corporation Extensible mechanism for automatically migrating resource adapter components in a development environment
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
CN100553214C (en) 2007-09-17 2009-10-21 北京航空航天大学 Mobile virtual environment system
US7984123B2 (en) 2007-12-10 2011-07-19 Oracle America, Inc. Method and system for reconfiguring a virtual network path
US8527679B2 (en) * 2008-06-16 2013-09-03 Samsung Electronics Co., Ltd. Apparatus and method for adaptation of input/output interface in virtualization environment
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
WO2010127365A1 (en) * 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8335943B2 (en) * 2009-06-22 2012-12-18 Citrix Systems, Inc. Systems and methods for stateful session failover between multi-core appliances
CN101593133B (en) 2009-06-29 2012-07-04 北京航空航天大学 Method and device for load balancing of resources of virtual machine
US8504690B2 (en) 2009-08-07 2013-08-06 Broadcom Corporation Method and system for managing network power policy and configuration of data center bridging
US9158567B2 (en) * 2009-10-20 2015-10-13 Dell Products, Lp System and method for reconfigurable network services using modified network configuration with modified bandwith capacity in dynamic virtualization environments
US8244957B2 (en) * 2010-02-26 2012-08-14 Red Hat Israel, Ltd. Mechanism for dynamic placement of virtual machines during live migration based on memory
US8510590B2 (en) * 2010-03-17 2013-08-13 Vmware, Inc. Method and system for cluster resource management in a virtualized computing environment
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers
US9223616B2 (en) * 2011-02-28 2015-12-29 Red Hat Israel, Ltd. Virtual machine resource reduction for live migration optimization
US8660124B2 (en) 2011-08-05 2014-02-25 International Business Machines Corporation Distributed overlay network data traffic management by a virtual server
US20130034094A1 (en) 2011-08-05 2013-02-07 International Business Machines Corporation Virtual Switch Data Control In A Distributed Overlay Network
US20130086298A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion
US8782128B2 (en) 2011-10-18 2014-07-15 International Business Machines Corporation Global queue pair management in a point-to-point computer network

Also Published As

Publication number Publication date
US8830870B2 (en) 2014-09-09
CN103843302A (en) 2014-06-04
GB2510508A (en) 2014-08-06
WO2013049991A1 (en) 2013-04-11
GB201407146D0 (en) 2014-06-04
US20130086582A1 (en) 2013-04-04
CN103843302B (en) 2017-07-21
US20130083690A1 (en) 2013-04-04
GB2510508B (en) 2015-07-08

Similar Documents

Publication Publication Date Title
DE112012003808T5 (en) Determine the migration of the network adapter hardware health in a healthful environment
DE112012003776T5 (en) Migration of logical partitions with stateful swap data connections during operation using context triggering and insertion
DE112012003336B4 (en) Optimized caching of translation entries for virtual functions
DE112012003342T5 (en) Dynamically adjust and limit the size of the network adapter memory to store virtual function translation entries
DE112020006859T5 (en) PRESERVATION OF STORE NAMESPACE IDENTIFIERS FOR HOT MIGRATION OF VIRTUALIZED EXECUTION ENVIRONMENTS
DE112011100392B4 (en) RESOURCE AFFINITY BY ADDING OR REMOVING QUEEN CARD PAIRS FOR NET ADAPTER WITH SOFTWARE FOR RECEIPT SCALE (RSS)
DE112012004550B4 (en) State migration method, system and apparatus for a remote direct memory access adapter in a virtual environment
DE112016000258T5 (en) GROUP NON-VOLATILE MEMORY BASED ON HOSTS USING ASSOCIATED NETWORK STORAGE
DE112011103082T5 (en) Multiple virtual machines sharing a single IP address
DE112013007296T5 (en) Determining a suitable target for an initiator by a controller-level processor
DE112013001904T5 (en) Level 2 packet switching without lookup table for Ethernet switches
DE112012002404B4 (en) Configuration and management of virtual networks
DE102018115251A1 (en) Technologies for protecting a virtual machine memory
DE102018202432A1 (en) Structure support for the quality of service
US20150195213A1 (en) Request distribution method and information processing apparatus
CN106648838B (en) Resource pool management configuration method and device
DE102021109231A1 (en) OPERATING SYSTEM INSTALLATION MECHANISM
DE112020003929T5 (en) MANAGEMENT OF METADATA OF VIRTUAL STORAGE
DE112019005392T5 (en) INCREASING DATA PERFORMANCE BY TRANSFERRING DATA BETWEEN STORAGE LEVELS USING WORKLOAD CHARACTERISTICS
DE112012001441T5 (en) Apply HTTP requests to security processing trusted messages
DE112017005453T5 (en) Configuration of distributed data processing systems
DE112014001397T5 (en) Flux-based low-latency network operation
DE102022203658A1 (en) Apparatus, method and computer program product for efficient, software-defined, network-accelerated processing using storage devices local to a host
US20110246600A1 (en) Memory sharing apparatus
DE102020114272A1 (en) Use of virtual node clusters in a multi-media environment

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: G06F0009440000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: G06F0009440000

Effective date: 20140523

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final