Die vorliegende Erfindung betrifft ein System von virtuellen Maschinen, in dem diese virtuellen Maschinen logisch unterteilten Bereichen (LPARs) zugeordnet sind, und insbesondere ein Verfahren und eine Einrichtung zur Verlagerung von derartigen virtuellen Maschinen in einem Hauptspeicher.The present invention relates to a system from virtuellen machines in which these virtual machines logically subdivided areas (LPARs) are assigned, andin particular a method and a device for verstorage of such virtual machines in oneMain memory.
Im Stand der Technik sind ein Verfahren und eine Einrichtung bekannt, mit denen einer virtuellen Maschine eines Systems von virtuellen Maschinen ein Hauptspeicherbereich neu zugewiesen werden kann, wobei der der virtuellen Maschine zugewiesene Hauptspeicherbereich erweitert oder verkleinert wird. Bei dieser herkömmlichen Technologie wird jedoch der Anfangspunkt des der virtuellen Maschine zugewiesenen Hauptspeicherbereichs, d. h. eine Startadresse des zugewiesenen Bereichs, nicht geändert. Wenn daher in einem Fall, in dem ein Zwischenbereich des Hauptspeichers physikalisch einer ersten virtuellen Maschine zugewiesen wird und diese erste virtuelle Maschine ein Basis-Softwareprogramm wie etwa ein Betriebssystem (OS) verwendet, eine Anforderung zum Zuweisen eines Teils des Hauptspeichers an eine zweite virtuelle Maschine erzeugt wird, ist es in einigen Fällen nicht möglich, einen für die zweite virtuelle Maschine erforderlichen nachfolgenden Teil des Hauptspeichers zuzuweisen. In diesem Fall ist es im Stand der Technik notwendig, die erste virtuelle Maschine einmal anzuhalten, um den Anfangspunkt des ihr zugewiesenen Hauptspeicherbereichs festzulegen, woraufhin ein anfänglicher Programmladevorgang IPL ("Initial Program Loader") ausgeführt wird.A method and a device are in the prior arttion known with which a virtual machineSystems of virtual machines a main storage areacan be reassigned, whereby the virtual Mamain memory area allocated to or expandedis reduced. With this conventional technology however, becomes the starting point of the virtual machineAllocated main memory area, i. H. a startaddress of the assigned area, not changed. Iftherefore in a case where an intermediate area of theMain memory physically a first virtual Mamachine is assigned and this first virtual machinea basic software program such as an operating system(OS) uses a request to assign a partmain memory to a second virtual machinein some cases it is not possible to find onefollow-up required for the second virtual machineallocate part of the main memory. In this casein the state of the art it is necessary to have the first virtuStop the machine once to reach the starting point of thedetermine where it is allocated to main memory areathereupon an initial program loading process IPL ("Initial Program Loader ") is executed.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Einrichtung zur dynamischen Verlagerung einer virtuellen Maschine in einem Hauptspeicher zu schaffen, mit denen in dem oben beschriebenen Fall, in dem der zweiten virtuellen Maschine kein geeigneter Hauptspeicherbereich zugewiesen werden kann, die erste virtuelle Maschine in ihrem Zustand gelassen wird, derart, daß der der ersten virtuellen Maschine zugewiesene Hauptspeicheranfangspunkt an eine spezifizierte Adresse bewegt wird, um einen daraus sich ergebenden freien Bereich der zweiten virtuellen Maschine zuzuweisen, damit die zweite virtuelle Maschine in den Betriebszustand versetzt werden kann, so daß die Effizienz und die Brauchbarkeit des Informationsprozessors verbessert wird.It is therefore the object of the present inventionProcess and device for dynamic publishersa virtual machine in main memorycreate with those in the case described above, inthat of the second virtual machine is not suitableMain memory area can be allocated the firstvirtual machine is left in its state thattype that the one assigned to the first virtual machineMain memory start point to a specified addressis moved to a resulting free Berealm to the second virtual machine sover the second virtual machine in the operating statecan be set so that the efficiency and the customAvailability of the information processor is improved.
Diese Aufgabe wird bei einem Verfahren der gattungsgemä ßen Art erfindungsgemäß gelöst durch die folgenden Schritte: Anhalten einer virtuellen Maschine eines mehrere virtuelle Maschinen umfassenden Systems, Verlagern der virtuellen Maschine in einem Hauptspeicherbereich gemäß einer durch einen Verlagerungsbefehl bezeichneten Adresse und Wiederherstellen der virtuellen Maschine auf der Grundlage der bezeichneten Adresse.This task is carried out in a method of the generic type ß Art solved according to the invention by the followingSteps: Stop a virtual machine from a multrere virtual machines comprehensive system, publishingthe virtual machine in a main storage areaaccording to one designated by a relocation orderAddress and restore the virtual machinebased on the designated address.
Die Aufgabe wird bei einer Einrichtung der gattungsgemäßen Art erfindungsgemäß gelöst durch die Merkmale im kennzeichnenden Teil des Anspruches 8.The task is in a facility of the genericß Art solved by the features in the inventioncharacterizing part of claim 8.
Wenn die Mehrzahl der virtuellen Maschinen den gesamten physikalischen Hauptspeicher nutzen und wenn entweder bestimmte Teile des Hauptspeichers, die wenigstens zwei virtuellen Maschinen zugeordnet sind, dynamisch ausgetauscht werden sollen oder wenn statt dessen ein Teil des Hauptspeichers, der einer der mehreren virtuellen Maschinen zugeordnet ist, erweitert werden soll, während die mehreren virtuellen Maschinen in Betrieb sind, können erfindungsgemäß Teile des Hauptspeichers, die anderen virtuellen Maschinen zugewiesen sind, beliebig verlagert werden. Daher kann ohne Umspeichern der in Betrieb befindlichen mehreren virtuellen Maschinen der Anfangspunkt des einer in Betrieb befindlichen, spezifizierten virtuellen Maschine zugewiesenen Hauptspeicherbereichs, d. h. die Startadresse des zugewiesenen Bereichs, beliebig geändert werden, wobei der Betrieb der virtuellen Maschine im wesentlichen nicht unterbrochen wird. Dies hat zur Folge, daß die Verlagerung des Hauptspeicherbereichs der spezifizierten virtuellen Maschine nahezu ohne wesentliche Auswirkung auf den Benutzer der virtuellen Maschine ausgeführt werden kann, wodurch die Effizienz und die Brauchbarkeit des Informationsverarbeitungssystems ver bessert wird.If the majority of the virtual machines cover the entireuse physical main memory and if either beagreed parts of main memory that have at least twoassigned to virtual machines dynamicallyshould be exchanged or if instead a part of theMain memory, which is one of the several virtual machinesis assigned to be expanded while themultiple virtual machines are running, he canaccording to the invention parts of the main memory, the other viractual machines are assigned to any locationwill. Therefore can be in operation without reloadingthe starting point for several virtual machinesof a specified virtu in operationMain memory area allocated to the machine, i. H.the start address of the assigned area, any gebe changed, the operation of the virtual machineis essentially not interrupted. This has toConsequence that the relocation of the main storage area of thespecified virtual machine with almost no essentialimpact on the user of the virtual machinecan be carried out, reducing the efficiency and theUsability of the information processing system ver is improved.
Weitere Aufgaben, Merkmale und Vorteile der Erfindung sind in den Unteransprüchen, die sich auf eine bevorzugte Ausführungsform der vorliegenden Erfindung beziehen, angegeben.Other objects, features and advantages of the inventionare in the subclaims, which relate to a preferredEmbodiment of the present invention refer togiven.
Die Erfindung wird im folgenden anhand einer bevorzugten Ausführungsform mit Bezug auf die Zeichnungen näher erläutert; es zeigtThe invention is based on a preferredEmbodiment with reference to the drawings he closerpurifies; it shows
Fig. 1A ein schematisches Blockschaltbild zur Erläuterung des Hardwarebetriebsmittel-Konfiguration eines Systems von virtuellen Maschinen in einer Ausführungsform der Erfindung;Fig. 1A is a schematic block diagram for Erläu tate hardware resource Configurati a system of virtual machines in one embodiment of the invention;
Fig. 1B ein Blockschaltbild zur Erläuterung der Architektur des Systems von virtuellen Maschinen;Fig. 1B is a block diagram for explaining the Ar NEN tecture of the system of virtual Maschi;
Fig. 2 eine Darstellung zur Erläuterung der Prozedur des Verlagerns eines Hauptspeicherbereichs, der einer virtuellen Maschine im erfindungsgemäßen System von virtuellen Maschinen zugewiesen ist;Fig. 2 is an illustration for explaining the procedure of relocating a main memory area which is assigned to a virtual machine in the system of virtual machines according to the invention;
Fig. 3A, B Darstellungen zur Erläuterung des Zuweisungszustandes der virtuellen Maschine im Hauptspeicher vor der Verschiebung des zugewiesenen Hauptspeicherbereichs; undFig. 3A, B are views for explaining the assignment of the virtual machine state in the main memory prior to the displacement of the appropriate assigned memory area; and
Fig. 4A, B Darstellungen zur Erläuterung des Zuweisungszustandes der virtuellen Maschine im Hauptspeicher nach der Verschiebung des zugewiese nen Hauptspeicherbereichs.Fig. 4A, B are illustrations for explaining the assignment of the virtual machine in the main condition memory according to the displacement of the appropriate assigned main memory area.
Zunächst wird mit Bezug auf die Zeichnungen ein System von virtuellen Maschinen gemäß einer Ausführungsform der vorliegenden Erfindung genauer beschrieben. In diesem System von virtuellen Maschinen kann während des Betriebs eine virtuelle Maschine einem neuen Bereich eines Hauptspeichers zugeordnet werden.First, with reference to the drawings, a systemvirtual machines according to an embodiment of thepresent invention described in more detail. In this system of virtual machines can operatea virtual machine a new area of a mainmemory.
Zunächst wird mit Bezug auf dieFig. 1A der Hardwareaufbau des erfindungsgemäßen Systems von virtuellen Maschinen beschrieben. Das System von virtuellen Maschinen besitzt eine neue Unterteilungskonfiguration des Hauptspeichers, wobei die einzelnen Abschnitte dieser Konfiguration als logisch unterteilte Bereiche (LPARs) bezeichnet werden. Die Hardwarebetriebsmittel dieser logisch unterteilten Bereiche umfassen Logikbefehl-Prozessoren (LIP1 bis LIP4)1, Hauptspeicherabschnitte bzw. virtuelle Speicherabschnitte (HS/VS)2, Kanalpfade (CH)3 und eine Einrichtung4. Die Einrichtung4 wird anteilig von vier virtuellen Maschinen benutzt. Wie aus der Figur ersichtlich, entsprechen die Logikbefehl-Prozessoren LIP1 und LIP2 einer virtuellen Maschine LPAR I. Der Logikbefehl-Prozessor LIP3 entspricht einer virtuellen Maschine LPAR II. Der Logikbefehl-Prozessor LIP4 entspricht den virtuellen Maschinen LPAR III und LPAR IV.First, the hardware construction of the system according to the invention of virtual machines is described with reference toFIG. 1A. The system of virtual machines has a new subdivision configuration of the main memory, the individual sections of this configuration being referred to as logically subdivided areas (LPARs). The hardware resources of these logically divided areas include logic instruction processors (LIP1 to LIP4 )1 , main memory sections or virtual memory sections (HS / VS)2 , channel paths (CH)3 and a device4 . The device4 is used in part by four virtual machines. As can be seen from the figure, the logic command processors LIP1 and LIP2 correspond to a virtual machine LPAR I. The logic command processor LIP3 corresponds to a virtual machine LPAR II. The logic command processor LIP4 corresponds to the virtual machines LPAR III and LPAR IV.
InFig. 1B ist die Architektur eines mehrere virtuelle Maschinen enthaltenden Systems gezeigt. Jede virtuelle Maschine enthält einen Logikbefehl-Prozessor (LIP)1. Ein Dienstprozessor (SVP)5 erzeugt aufgrund eines Verlagerungsbefehls einen Verschiebungsbefehl. Ein Betriebsmittel-Verwaltungsabschnitt8 verwaltet und steuert den jeder der Mehrzahl der virtuellen Maschinen zugewiesenen Betriebsmittelzustand. Aufgrund einer in ihn eingegebenen Prüfanforderung führt der Abschnitt8 eine Prüfung aus, um festzustellen, ob eine durch die Anforderung bezeichnete virtuelle Maschine in einem Hauptspeicherbereich verlagert werden kann. Wenn die bezeichnete virtuelle Maschine von einem LPAR-Steuerabschnitt6 verlagert wird, wird der verlagerte Bereich des Hauptspeichers sämtlichen Eingabe-/Ausgabeprozessoren10, die der bezeichneten virtuellen Maschine zugewiesen sind, mitgeteilt. Für jede virtuelle Maschine ist ein LIP-Steuerabschnitt7 vorgesehen, der die Operationen des oder der Logikbefehl-Prozessoren (LIP)1 der virtuellen Maschine steuert. Das bedeutet, daß der Abschnitt7 die Operation des LIP1 der bezeichneten virtuellen Maschine anhält und dann diese Maschine entsprechend einer Adresse, die durch einen SIE-Befehl (Startinterpretation-Ausführungsbefehl) spezifiziert wird, die Maschine neu speichert, d. h. wiederherstellt. Der LPAR-Steuerabschnitt6 arbeitet aufgrund eines Verschiebungsbefehls. Wenn die Operation der bezeichneten virtuellen Maschine unterbrochen worden ist, wartet der Abschnitt6 einen Zustand ab, in dem sämtliche E/A-Prozessoren (IOP)10, die der bezeichneten virtuellen Maschine zugewiesen sind, außer Betrieb sind, um die Prüfanforderung zu erzeugen und an den Betriebsmittel-Verwaltungsabschnitt8 auszugeben. Wenn der Verwaltungsabschnitt8 feststellt, daß die bezeichnete virtuelle Maschine im Hauptspeicherbereich verlagert werden kann, verlagert danach der Abschnitt6 diese bezeichnete virtuelle Maschine entsprechend der durch den Verschiebungsbefehl angegebenen Adresse.Figure 1B shows the architecture of a system containing multiple virtual machines. Each virtual machine contains a logic instruction processor (LIP)1 . A service processor (SVP)5 generates a move command based on a move command. A resource management section8 manages and controls the resource status assigned to each of the plurality of virtual machines. Based on a test request entered into it, section8 performs a test to determine whether a virtual machine designated by the request can be relocated to a main storage area. When the designated virtual machine is relocated from an LPAR control section6 , the relocated area of the main memory is communicated to all the input / output processors10 assigned to the designated virtual machine. For each virtual machine, a LIP control section7 is provided which controls the operations of the logic command processor (s) (LIP)1 of the virtual machine. This means that the section7 stops the operation of the LIP1 of the designated virtual machine, and then this machine according to an address specified by an SIE command (start interpretation execution command) re-saves the machine, that is, restores it poses. The LPAR control section6 operates based on a move command. When the operation of the designated virtual machine has been interrupted, the section6 waits for a state in which all I / O processors (IOP)10 assigned to the designated virtual machine are out of order to await the check request generate and output to the resource management section8 . If the management section8 determines that the designated virtual machine can be relocated in the main memory area, then the section6 relocates this designated virtual machine according to the address specified by the relocation command.
Wenn der Verlagerungsbefehl eine Erweiterung eines Hauptspeicherbereichs betrifft, der einer anderen an die bezeichnete virtuelle Maschine angrenzenden virtuellen Ma schine zugewiesen ist, erzeugt der Dienstprozessor5 einen Erweiterungsbefehl, nachdem die bezeichnete Maschine wiederhergestellt worden ist, um aufgrund dieses Erweiterungsbefehls den der anderen virtuellen Maschine zugewiesenen Bereich zu erweitern. Wenn der Verlagerungsbefehl einen Austausch von Hauptspeicherbereichen betrifft, die zwei bezeichneten virtuellen Maschinen zugewiesen sind, steuert der Steuerabschnitt6 die LIP-Steuerabschnitte7, derart, daß er die zwei bezeichneten virtuellen Maschinen anhält, dann liest der Steuerabschnitt6 den Inhalt aus, der in dem Hauptspeicherbereich gespeichert ist, der einem der zwei bezeichneten virtuellen Maschinen zugeordnet ist, um den ausgelesenen Inhalt in der anderen der zwei virtuellen Maschinen zu speichern, anschließend wiederholt der Steuerabschnitt6 die Auslese- und Speicheroperationen für den der anderen virtuellen Maschine zugewiesenen Speicherbereich, schließlich stellt der Steuerabschnitt6 diese virtuellen Maschinen wieder her.If the relocation command relates to an expansion of a main memory area which is assigned to another virtual machine adjacent to the designated virtual machine, the service processor5 generates an expansion command after the designated machine has been restored to that of the other virtual machines on the basis of this expansion command Extend machine-assigned area. When the relocation command affects an exchange of main memory areas assigned to two designated virtual machines, the control section6 controls the LIP control sections7 so as to stop the two designated virtual machines, then the control section6 reads the content stored in the main memory area assigned to one of the two designated virtual machines to store the read content in the other of the two virtual machines, then the control section6 repeats the read and store operations for the other storage area allocated to the virtual machine, finally, the control section6 restores these virtual machines.
Die Hardware-Betriebsmittel werden den logische virtuelle Maschinen darstellenden LPARs entweder exklusiv oder zeitlich verzahnt in einer LPAR-Betriebsart zugewiesen. D.h., daß im Hardwareaufbau ein Logikbefehl-Prozessor1 einem LPAR zeitlich verzahnt zugeordnet wird, während die übrigen Hardwarekomponenten dem LPAR exklusiv zugeordnet werden.The hardware resources are assigned to the LPARs representing logical virtual machines either exclusively or in a timed manner in an LPAR mode. This means that in the hardware configuration a logic command processor1 is assigned to an LPAR in a time-linked manner, while the other hardware components are assigned exclusively to the LPAR.
Jeder einem LPAR zugewiesene Hauptspeicherbereich, d. h. ein LPAR-Bereich, kann durch die Verschiebungsverarbeitung dynamisch geändert werden, wie inFig. 2 gezeigt ist. D.h., daß der Anfangspunkt, also die Kopfadresse eines jeden LPAR-Bereichs, im physikalischen Hauptspeicher beliebig geändert werden kann. Die Verschiebungsverarbei tung wird durch den Dienstprozessor (SVP)5 ausgeführt, der einen LPAR-Rahmen aufweist, der eine Operationsschnittstelle darstellt. Wie inFig. 2 gezeigt ist, verbindet diese Schnittstelle den Dienstprozessor5 mit jedem LPAR, mit dem LPAR-Steuerabschnitt6, der die an jeden LPAR gerichteten Operationsbefehle und dergleichen steuert, mit dem LIP-Steuerabschnitt7, der einen Gast, z. B. das Betriebssystem (OS), aufgrund eines Befehls vom Steuerabschnitt6 steuert und eine Simulationsverarbeitung für einen eine Simulation erfordernden Befehl ausführt, und mit dem Betriebsmittel-Verwaltungsabschnitt8, der die Information der physikalischen Betriebsmittel sämtlicher LPARs verwaltet.Each main memory area allocated to an LPAR, that is, an LPAR area, can be dynamically changed by the shift processing as shown inFIG. 2. This means that the starting point, ie the head address of each LPAR area, can be changed as required in the physical main memory. The shift processing is performed by the service processor (SVP)5 , which has an LPAR frame that represents an operation interface. As shown inFIG. 2, this interface connects the service processor5 with the LPAR, with the LPAR control section6 , which controls the operation commands directed to the LPAR and the like, with the LIP control section7 , which e.g. B. the operating system (OS), based on a command from the control section6 and executes a simulation processing for a command requiring a simulation, and with the resource management section8 which manages the information of the physical resources of all LPARs.
Nun wird mit Bezug aufFig. 2 ein Beispiel der Verschiebungsverarbeitung für den Fall beschrieben, in dem zwei LPARs, etwa LPAR1 und LPAR2, in Betrieb sind.An example of the shift processing in the case where two LPARs, such as LPAR1 and LPAR2 , are in operation will now be described with reference toFIG. 2.
Zunächst wird vor der Initialisierung der Operation eines jeden LPAR der Hauptspeicher logisch unterteilt, um Bereiche für den LPAR1 bzw. den LPAR2 zu definieren. InFig. 3A sind ein Hauptspeicherbereich-Anfangspunkt (HS-Bereich-Anfangspunkt) und eine HS-Größe für jeden der definierten Bereiche gezeigt. Eine HS-Lücke gibt die Größe des ungenutzten Bereichs zwischen dem LPAR1-Bereich und dem LPAR2-Bereich, die sich in einem höheren Adressenbereich im Hauptspeicher befindet, an. Da in diesem Beispiel zwischen den LPAR1- und LPAR2-Bereichen keine HS-Lücke vorhanden ist, wird die HS-Lücke des LPAR1 auf "0" gesetzt. Wenn zwei virtuelle Maschinen LPAR1 und LPAR2 in den beiden auf diese Weise definierten LPAR-Bereichen arbeiten, werden darüber hinaus im unterteilten Zustand des Hauptspeichers die Bereiche zwischen 0 MB und 128 MB und zwischen 129 MB und 384 MB dem LPAR1 bzw. dem LPAR2 zuge wiesen, während der verbleibende Bereich mit 125 MB, der zwischen 385 MB und 509 MB liegt, nicht zugewiesen wird. Während der Operationen des LPAR1 bzw. des LPAR2 unter diesen Umständen kann die Hauptspeicherverschiebungsfunktion (HS-VERSCHIEBUNG) der vorliegenden Erfindung verwendet werden.First, before the operation of each LPAR is initialized, the main memory is logically divided to define areas for the LPAR1 and LPAR2 . InFig. 3A, a main storage area start point are shown (HS-area start point) and an HS-size for each of the de-defined ranges. An HS gap indicates the size of the unused area between the LPAR1 area and the LPAR2 area, which is in a higher address area in the main memory. Since there is no HS gap between the LPAR1 and LPAR2 areas in this example, the HS gap of LPAR1 is set to "0". If two virtual machines LPAR1 and LPAR2 work in the two LPAR areas defined in this way, the areas between 0 MB and 128 MB and between 129 MB and 384 MB are also assigned to LPAR1 or assigned to LPAR2 , while the remaining 125MB area, which is between 385MB and 509MB, is not allocated. During the operations of the LPAR1 and LPAR2 under these circumstances, the main memory shift function (HS SHIFT) of the present invention can be used.
Zunächst wird angenommen, daß für den LPAR2 der HS-Anfangspunkt bei 192 MB gesetzt werde, d. h., daß durch einen HS-VERSCHIEBUNGS-Befehl (der im folgenden mit MVSTOR-Befehl bezeichnet wird) der Hauptspeicherbereich-Anfangspunkt (HSA) durch den LPAR-Rahmen des SVP5 auf HSA=192 gesetzt wird. Aufgrund dieses Befehls wird die Steuerung vom SVP5 an den LPAR-Steuerabschnitt6 für den LPAR2 übertragen. Vom Steuerabschnitt6 wird an den LIP-Steuerabschnitt7 ein Befehl geschickt, um einen LIP des LPAR2 vorübergehend anzuhalten. Daraufhin setzt der LIP-Steuerabschnitt7 den LIP, d. h. den Gast des LPAR2, also das Betriebssystem, in den angehaltenen Zustand (Schritt201).First, it is assumed that the LPAR2 has the HS start point set at 192MB, that is, by an HS SHIFT command (hereinafter referred to as MVSTOR command) the main memory area start point (HSA) by the LPAR frame of SVP5 is set to HSA = 192. Control is transferred from the SVP5 to the LPAR control section6 for the LPAR2 based on this command. A command is sent from the control section6 to the LIP control section7 to temporarily stop a LIP of the LPAR2 . The LIP control section7 then sets the LIP, ie the guest of the LPAR2 , that is to say the operating system, to the stopped state (step201 ).
Es wird eine Warteoperation ausgeführt, durch die wenigstens 10 Sekunden gewartet wird, während denen sämtliche mit dem LPAR2 verbundenen E/A-Prozessoren außer Betrieb gehen (Schritt202). Wenn der LIP angehalten worden ist, kann üblicherweise der E/A-Prozessor sofort außer Betrieb gehen; es wird jedoch bei Annahme eines speziellen Falls eine Zeitspanne von 10 Sekunden vorgesehen. Im Fall einer Warteoperation wird eine Meldung ausgegeben, um irgendwelche E/A-Einrichtungen, die sich noch im Betriebszustand befinden, zu melden. Der Schritt202 ist notwendig, um die folgende Möglichkeit zu vermeiden: Selbst wenn der LIP im Schritt201 angehalten wird, befindet sich der E/A-Prozessor noch immer in Betrieb, so daß vom E/A-Pro zessor aufgrund eines E/A-Befehls möglicherweise auf den Bereich vor der Verschiebung zugegriffen wird.A wait operation is performed that waits for at least 10 seconds during which all I / O processors connected to the LPAR2 go out of operation (step202 ). Typically, when the LIP has stopped, the I / O processor can shut down immediately; however, a period of 10 seconds is provided if a special case is assumed. In the case of a wait operation, a message is issued to report any I / O devices that are still in operation. Step202 is necessary to avoid the following possibility: Even if the LIP is stopped in step201 , the I / O processor is still in operation, so that the I / O processor has an I / O Command may be accessed on the area before the move.
Vom Betriebsmittel-Verwaltungsabschnitt6 wird eine Prüfung ausgeführt, um festzustellen, ob der durch den Befehl spezifizierte HSA (in diesem Fall 192 MB) geeignet ist, d. h. ob der LPAR2-Bereich bewegt werden kann (Schritt203). Der Betriebsmittel-Verwaltungsabschnitt8 besitzt HS-Abbildungen sämtlicher LPARs und bestimmt auf der Grundlage des spezifizierten HSA, ob ein Bereich, der beim HSA beginnt und die Größe des LPAR2 besitzt, von einem anderen LPAR genutzt wird. Im beschriebenen Beispiel wird der Bereich zwischen 192 MB (am HSA) und 384 MB vom LPAR2 benutzt, während der Bereich ab 385 MB nicht zugewiesen ist, so daß der LPAR2-Bereich verschoben werden kann. Wenn festgestellt wird, daß der LPAR2-Bereich bewegt werden kann, schickt der Betriebsmittel-Verwaltungsabschnitt8 an die E/A-Prozessoren einen SALE-Befehl (Befehl zum Setzen der erweiterten Adressengrenze), um den LPAR2-Bereich nach der Verschiebung zu melden.A check is performed by the resource management section6 to determine whether the HSA specified by the command (192 MB in this case) is appropriate, that is, whether the LPAR2 area can be moved (step203 ). The resource management section8 has HS maps of all LPARs and, based on the specified HSA, determines whether an area that starts at the HSA and is the size of the LPAR2 is used by another LPAR. In the example described, the area between 192 MB (at the HSA) and 384 MB is used by the LPAR2 , while the area from 385 MB is not assigned, so that the LPAR2 area can be moved. When it is determined that the LPAR2 area can be moved, the resource management section8 sends the I / O processors a SALE command (command to set the extended address limit) to move the LPAR2 area after the Report postponement.
Nun wird die eigentliche Speicherübertragungsverarbeitung gemäß den Schritten204 bis209 beschrieben. Zunächst werden eine Startadresse des Ubertragungsausgangsbereichs, des LPAR2-Bereichs, und eine Startadresse des Übertragungszielbereichs festgesetzt (Schritt204). In dieser Ausführungsform werden die Startadressen des Ubertragungsausgangsbereichs und des Übertragungszielbereichs durch 384 MB bzw. 448 MB in einer Seiteneinheit dargestellt. D.h., daß die Übertragungsoperation bei den jeweiligen Startadressen begonnen wird, derart, daß die Adressen bei jeder Operation jeweils um eine Seite dekrementiert werden. Ein Schlüssel zum Schutz der Daten der einzelnen Seiten des Ausgangsbereichs wird ausgelesen (Schritt205) und in einem Register im LPAR-Steuerabschnitt6 gesichert. Dann werden die Seitendaten beginnend bei der im Schritt204 erhaltenen Adresse in den Übertragungszielbereich übertragen (Schritt206), um den vorher erhaltenen Schlüssel im Übertragungszielbereich an einer vorgegebenen Adresse zu setzen (Schritt207). Durch diese Operation ist die Datenübertragung für eine Seite abgeschlossen. Anschließend werden die Adresse des Übertragungsausgangsbereichs und die Adresse des UÜertragungszielbereichs aktualisiert (Schritt208). In dieser Ausführungsform wird der Seitenzählstand bei jeder Übertragung um den Wert "1" vermindert, um die Übertragungsoperation für den gesamten Bereich des dem LPAR2 zugewiesenen Hauptspeicherbereichs in Seiteneinheiten wiederholt auszuführen. Durch diese eben beschriebene Operation ist die HS-Übertragungsoperation beendet (Schritt209).The actual memory transfer processing according to steps204 to209 will now be described. First, a start address of the transmission output area, the LPAR2 area, and a start address of the transmission destination area are set (step204 ). In this embodiment, the start addresses of the transmission output area and the transmission destination area are represented by 384 MB and 448 MB in one page unit, respectively. That is, the transfer operation is started at the respective start addresses in such a way that the addresses are decre mented by one page for each operation. A key to protect the data of the individual pages of the output area is read out (step205 ) and saved in a register in the LPAR control section6 . Then, the page data is transferred to the transmission destination area starting from the address obtained in step204 (step206 ) to set the previously obtained key in the transmission destination area at a predetermined address (step207 ). This operation completes the data transfer for one side. Then, the address of the transmission output area and the address of the transmission destination area are updated (step208 ). In this embodiment, the page count is decreased by "1" for each transfer to repeatedly perform the transfer operation for the entire area of the main memory area allocated to the LPAR2 in page units. The HS transfer operation is ended by this operation just described (step209 ).
Um schließlich den LIP wiederherzustellen, wird an den LIP-Steuerabschnitt7 aufgrund eines SIE-Befehls ein Befehl ausgegeben. Daraufhin setzt der LIP-Steuerabschnitt7 einen neuen HSA, der durch die Parameter des SIE-Befehls bereitgestellt wird, und stellt den LIP wieder her. D. h., daß der Gast des LPAR2 gestartet wird (Schritt210). Darüber hinaus wird dem Rahmen des SVP5 das Ergebnis des MVSTOR-Befehls gemeldet (Schritt211). In dieser Ausführungsform wird der MVSTOR-Befehl normal beendet. Hierbei befindet sich nach der Beendigung des MVSTOR-Befehls der dem LPAR1 bzw. der dem LPAR2 zugewiesene Hauptspeicherbereich in einem Zustand, wie er inFig. 4A gezeigt ist. Da durch den MVSTOR-Befehl für den LPAR1 eine HS-Lucke erzeugt wird, kann der LPAR1-Bereich unter Verwendung eines herkömmlichen Befehls soweit erhöht werden, wie dies die HS-Lücke zuläßt. Außerdem sind die Bereichszuweisungszustände des LPAR1 und des LPAR2 von der Art, wie sie inFig. 4B gezeigt sind; d. h., daß der LPAR2-Bereich ebenfalls in Richtung ansteigender Adressen des Hauptspeichers um 61 MB erweitert werden kann.In order to finally restore the LIP, a command is issued to the LIP control section7 based on a SIE command. Thereupon, the LIP control section7 sets a new HSA, which is provided by the parameters of the SIE command, and restores the LIP. That is, the guest of LPAR2 is started (step210 ). In addition, the result of the MVSTOR command is reported to the frame of the SVP5 (step211 ). In this embodiment, the MVSTOR command ends normally. Here, after the completion of the MVSTOR command, the main memory area assigned to the LPAR1 or the LPAR2 is in a state as shown inFIG. 4A. Since the MVSTOR command generates an HS gap for the LPAR1 , the LPAR1 area can be increased using a conventional command as far as the HS gap allows. In addition, the area assignment states of the LPAR1 and LPAR2 are of the type shown inFig. 4B; This means that the LPAR2 area can also be expanded by 61 MB in the direction of increasing addresses of the main memory.
Wie oben erwähnt, kann der dem LPAR1 zugewiesene Hauptspeicherbereich erfindungsgemäß so erweitert werden, daß nahezu kein Einfluß auf den Betriebszustand des LPAR2 ausgeübt wird. Wie aus der obigen Beschreibung verständlich wird, ist es mit dem erfindungsgemäßen System von virtuellen Maschinen möglich, einen MVSTOR-Befehl zu schaffen, mit dem der Ausgangspunkt des LPAR-Bereichs im physikalischen Hauptspeicher eines Systems von virtuellen Maschinen mit einer LPAR-Betriebsart beliebig geändert werden kann. Dadurch wird folglich die herkömmliche Operation unnötig, durch die die in Betrieb befindliche virtuelle Maschine angehalten wird, um den Hauptspeicheranfangspunkt in einem weiteren Hauptspeicherbereich zu setzen und den LIP nach der Verlagerung des LPAR-Bereichs neu zu initialisieren. Dies hat zur Folge, daß die virtuelle Maschine ununterbrochen betrieben werden kann.As mentioned above, the main memory area allocated to the LPAR1 can be expanded according to the invention in such a way that almost no influence is exerted on the operating state of the LPAR2 . As can be understood from the above description, with the system of virtual machines according to the invention, it is possible to create an MVSTOR command with which the starting point of the LPAR area in the physical main memory of a system of virtual machines with an LPAR mode can be changed as desired can be. As a result, the conventional operation by which the operating virtual machine is stopped is made unnecessary to set the main memory starting point in another main memory area and to reinitialize the LIP after the relocation of the LPAR area. As a result, the virtual machine can be operated continuously.
Das System von virtuellen Maschinen der vorliegenden Erfindung umfaßt eine Informationsverarbeitungseinrichtung, einen Dienstprozessor, der für die Informationsverarbeitungseinrichtung eine Bedienerschnittstelle schafft, und eine Hardwarekonfiguration zur Steuerung der Mehrzahl der virtuellen Maschinen. Die Hardwarekonfiguration ist entweder exklusiv oder zeitlich verzahnt logisch unterteilt. Der Anfangspunkt eines Hauptspeicherbereichs einer jeden der Mehrzahl der virtuellen Maschinen wird geändert, um den zugewiesenen Hauptspeicherbereich zu verschieben.The system of virtual machines of the present Erinvention comprises an information processing device,a service processor responsible for information processingdevice creates an operator interface, anda hardware configuration to control the majority of thevirtual machines. The hardware configuration is entlogically subdivided neither exclusively nor in terms of time.The starting point of a main storage area for eachthe majority of virtual machines are changed toto move the allocated main memory area.
Wenn darüber hinaus die mehreren virtuellen Maschinen den gesamten physikalischen Hauptspeicher verwenden, ist es möglich, die wenigstens zwei virtuellen Maschinen zugewiesenen Hauptspeicherbereiche dynamisch auszutauschen.In addition, if the multiple virtual machinesuse all physical main memory, it is possible, the at least two virtual machinesswapped main memory areas dynamically.
Wenn außerdem der Hauptspeicherbereich einer der Mehrzahl der virtuellen Maschinen erweitert werden soll, während die mehreren virtuellen Maschinen arbeiten, können die Hauptspeicherbereiche anderer virtueller Maschinen beliebig bewegt werden. Wenn daher die Adresse des einer bestimmten virtuellen Maschine zugewiesenen Hauptspeicherbereichs geliefert wird, führt der Dienstprozessor eine entsprechende Operation aus, um die Änderung des Anfangspunkts des Hauptspeicherbereichs an den Steuerabschnitt der speziellen virtuellen Maschine zu melden. Der Steuerabschnitt hält den LIP-Steuerabschnitt an. Dann wird die Eignung des bestimmten Hauptspeicherbereichanfangspunktes durch den die physikalischen Betriebsmittel sämtlicher virtueller Maschinen verwaltenden Betriebsmittel-Verwaltungsabschnitt geprüft. Wenn bestätigt wird, daß der Bereich in den spezifizierten Bereich bewegt werden kann, bewegt der Steuerabschnitt für die virtuelle Maschine die Daten der Seiteneinheit. Dann wird durch den SALE-Befehl der Umfang des neuen Hauptspeicherbereichs der virtuellen Maschine an die mit der virtuellen Maschine gekoppelten E/A-Prozessoren gemeldet, schließlich wird der Anfangspunkt des Hauptspeicherbereichs durch die Parameter des SIE-Befehls geändert, wodurch der LIP-Steuerabschnitt wiederhergestellt wird. Daher kann der Hauptspeicherbereich der spezifizierten virtuellen Maschine übertragen werden, wobei die mit dieser virtuellen Maschine arbeitende Bedienungsperson nahezu keine Auswirkungen feststellt.Also, if the main storage area is one of the pluralityof virtual machines to expand whilethe multiple virtual machines can workMain memory areas of other virtual machinesbe moved big. Therefore, if the address of the one beagreed virtual memory allocated memoryarea is delivered, the service processor performs aappropriate operation to change the beginningpoint of the main storage area to the control sectionto report to the special virtual machine. The taxsection stops the LIP control section. Then theSuitability of the particular main storage area start pointthrough which the physical resources of allResource manager managing virtual machinessection checked. If it is confirmed that the Becan be moved richly into the specified rangethe control section for the virtual machine moves thePage unit data. Then through the SALE commandthe size of the new main memory area of the virtualMachine to those coupled with the virtual machineI / O processors reported, eventually the beginningpoint of the main memory area by the parameters of theSIE command changed, causing the LIP control sectionis restored. Therefore, the main memory canrange of the specified virtual machinebe working with this virtual machineoperator has almost no impactposes.
Die obige Beschreibung ist anhand einer speziellen Ausführungsform gegeben worden. Die vorliegende Erfindung ist jedoch nicht auf diese Ausführungsform beschränkt und kann selbstverständlich auf zahlreiche Weisen abgewandelt und verändert werden, ohne vom Geist und vom Umfang der vorliegenden Erfindung abzuweichen.The above description is based on a specialmanagement form has been given. The present inventionhowever, is not limited to this embodiment and can of course be modified in numerous waysand be changed without changing the spirit and scope ofto deviate from the present invention.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP12076191AJPH04348434A (en) | 1991-05-27 | 1991-05-27 | Virtual computer system | 
| Publication Number | Publication Date | 
|---|---|
| DE4217444A1true DE4217444A1 (en) | 1992-12-03 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| DE19924217444WithdrawnDE4217444A1 (en) | 1991-05-27 | 1992-05-26 | METHOD AND DEVICE FOR THE DYNAMIC TRANSFER OF VIRTUAL MACHINES IN A MAIN STORAGE | 
| Country | Link | 
|---|---|
| JP (1) | JPH04348434A (en) | 
| DE (1) | DE4217444A1 (en) | 
| GB (1) | GB2256513B (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2002056172A3 (en)* | 2000-12-27 | 2004-01-08 | Intel Corp | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system | 
| WO2002050664A3 (en)* | 2000-12-21 | 2004-02-26 | Connectix Corp | Logical substitution of processor control in an emulated computing environment | 
| US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment | 
| US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment | 
| US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution | 
| US6934817B2 (en) | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment | 
| US6976162B1 (en) | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy | 
| US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key | 
| US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode | 
| US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus | 
| US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment | 
| US7028149B2 (en) | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register | 
| US7058807B2 (en) | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center | 
| US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log | 
| US7076802B2 (en) | 2002-12-31 | 2006-07-11 | Intel Corporation | Trusted system clock | 
| US7076669B2 (en) | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token | 
| US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution | 
| US7085705B2 (en) | 2000-12-21 | 2006-08-01 | Microsoft Corporation | System and method for the logical substitution of processor control in an emulated computing environment | 
| US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution | 
| US7096497B2 (en) | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network | 
| US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution | 
| US7117376B2 (en) | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations | 
| US7124327B2 (en) | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture | 
| US7124273B2 (en) | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment | 
| US7139890B2 (en) | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory | 
| US7142674B2 (en) | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange | 
| US7165181B2 (en) | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity | 
| US7177967B2 (en) | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system | 
| US7191440B2 (en) | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor | 
| US7194634B2 (en) | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus | 
| US7215781B2 (en) | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices | 
| US7237051B2 (en) | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system | 
| US7287197B2 (en) | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine | 
| US7305592B2 (en) | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment | 
| US7308576B2 (en) | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module | 
| US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines | 
| US7318235B2 (en) | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token | 
| US7356735B2 (en) | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment | 
| US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution | 
| US7392415B2 (en) | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection | 
| US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment | 
| US7415708B2 (en) | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information | 
| US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events | 
| US7480806B2 (en) | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal | 
| US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature | 
| US7610611B2 (en) | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder | 
| US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment | 
| US7636844B2 (en) | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device | 
| US7739521B2 (en) | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations | 
| US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information | 
| US7809957B2 (en) | 2005-09-29 | 2010-10-05 | Intel Corporation | Trusted platform module for generating sealed data | 
| US7840962B2 (en) | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time | 
| US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages | 
| US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets | 
| US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority | 
| US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment | 
| US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible | 
| US8271976B2 (en) | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine | 
| US8386788B2 (en) | 2002-02-25 | 2013-02-26 | Intel Corporation | Method and apparatus for loading a trustable operating system | 
| US8522044B2 (en) | 2000-09-28 | 2013-08-27 | Intel Corporation | Mechanism to handle events in a machine with isolated execution | 
| US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents | 
| US8543772B2 (en) | 2003-09-30 | 2013-09-24 | Intel Corporation | Invalidating translation lookaside buffer entries in a virtual machine (VM) system | 
| US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JPH0635732A (en)* | 1992-07-14 | 1994-02-10 | Hitachi Ltd | Storage device area allocation method | 
| EP0610583A1 (en)* | 1993-02-08 | 1994-08-17 | International Business Machines Corporation | Multizone relocation facility computer memory system | 
| JPH07262093A (en)* | 1994-03-17 | 1995-10-13 | Hitachi Ltd | Storage area reconfiguration control method | 
| US6128714A (en) | 1994-03-17 | 2000-10-03 | Hitachi, Ltd. | Method of processing a data move instruction for moving data between main storage and extended storage and data move instruction processing apparatus | 
| US5819061A (en)* | 1994-07-25 | 1998-10-06 | International Business Machines Corporation | Method and apparatus for dynamic storage reconfiguration in a partitioned environment | 
| WO2002005091A1 (en)* | 2000-07-06 | 2002-01-17 | Fujitsu Limited | Virtual computer system and control method | 
| US7383405B2 (en) | 2004-06-30 | 2008-06-03 | Microsoft Corporation | Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity | 
| US20060253682A1 (en)* | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Managing computer memory in a computing environment with dynamic logical partitioning | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| DE3841602A1 (en)* | 1987-12-11 | 1989-06-22 | Hitachi Ltd | VIRTUAL MACHINE SYSTEM | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US4916608A (en)* | 1986-05-30 | 1990-04-10 | International Business Machines Corporation | Provision of virtual storage resources to an operating system control program | 
| EP0473802B1 (en)* | 1990-09-03 | 1995-11-08 | International Business Machines Corporation | Computer with extended virtual storage concept | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| DE3841602A1 (en)* | 1987-12-11 | 1989-06-22 | Hitachi Ltd | VIRTUAL MACHINE SYSTEM | 
| Title | 
|---|
| Funkschau, H. 2, 24.1.1986, S. 67-74* | 
| IBM-Nachrichten 10, 1972, S. 349-365* | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US7085935B1 (en) | 2000-03-31 | 2006-08-01 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode | 
| US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution | 
| US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment | 
| US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment | 
| US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution | 
| US6934817B2 (en) | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment | 
| US7194634B2 (en) | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus | 
| US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log | 
| US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key | 
| US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode | 
| US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus | 
| US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution | 
| US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution | 
| US7516330B2 (en) | 2000-06-28 | 2009-04-07 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy | 
| US6976162B1 (en) | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy | 
| US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9619672B2 (en) | 2000-06-30 | 2017-04-11 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9971909B2 (en) | 2000-06-30 | 2018-05-15 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9507963B2 (en) | 2000-06-30 | 2016-11-29 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US10572689B2 (en) | 2000-06-30 | 2020-02-25 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US8549275B2 (en) | 2000-06-30 | 2013-10-01 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US7822979B2 (en) | 2000-06-30 | 2010-10-26 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9547779B2 (en) | 2000-06-30 | 2017-01-17 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9305183B2 (en) | 2000-06-30 | 2016-04-05 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9507962B2 (en) | 2000-06-30 | 2016-11-29 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US9323954B2 (en) | 2000-06-30 | 2016-04-26 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition | 
| US8522044B2 (en) | 2000-09-28 | 2013-08-27 | Intel Corporation | Mechanism to handle events in a machine with isolated execution | 
| US8671275B2 (en) | 2000-09-28 | 2014-03-11 | Intel Corporation | Mechanism to handle events in a machine with isolated execution | 
| US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution | 
| US7225119B2 (en) | 2000-12-21 | 2007-05-29 | Microsoft Corporation | System and method for the logical substitution of processor control in an emulated computing environment | 
| US7275028B2 (en) | 2000-12-21 | 2007-09-25 | Microsoft Corporation | System and method for the logical substitution of processor control in an emulated computing environment | 
| WO2002050664A3 (en)* | 2000-12-21 | 2004-02-26 | Connectix Corp | Logical substitution of processor control in an emulated computing environment | 
| US7085705B2 (en) | 2000-12-21 | 2006-08-01 | Microsoft Corporation | System and method for the logical substitution of processor control in an emulated computing environment | 
| US7215781B2 (en) | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices | 
| WO2002056172A3 (en)* | 2000-12-27 | 2004-01-08 | Intel Corp | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system | 
| US7020738B2 (en) | 2000-12-27 | 2006-03-28 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system | 
| US7117376B2 (en) | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations | 
| US7096497B2 (en) | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network | 
| US7191440B2 (en) | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor | 
| US7921293B2 (en) | 2001-11-01 | 2011-04-05 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment | 
| US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment | 
| US7308576B2 (en) | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module | 
| US7480806B2 (en) | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal | 
| US8407476B2 (en) | 2002-02-25 | 2013-03-26 | Intel Corporation | Method and apparatus for loading a trustable operating system | 
| US7124273B2 (en) | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment | 
| US8386788B2 (en) | 2002-02-25 | 2013-02-26 | Intel Corporation | Method and apparatus for loading a trustable operating system | 
| US8185734B2 (en) | 2002-03-29 | 2012-05-22 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US10031759B2 (en) | 2002-03-29 | 2018-07-24 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US8645688B2 (en) | 2002-03-29 | 2014-02-04 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US7028149B2 (en) | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register | 
| US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US10175994B2 (en) | 2002-03-29 | 2019-01-08 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US10042649B2 (en) | 2002-03-29 | 2018-08-07 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US7546457B2 (en) | 2002-03-29 | 2009-06-09 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US9361121B2 (en) | 2002-03-29 | 2016-06-07 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US9990208B2 (en) | 2002-03-29 | 2018-06-05 | Intel Corporation | System and method for execution of a secured environment initialization instruction | 
| US7076669B2 (en) | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token | 
| US7058807B2 (en) | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center | 
| US7139890B2 (en) | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory | 
| US7142674B2 (en) | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange | 
| US7392415B2 (en) | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection | 
| US7124327B2 (en) | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture | 
| US7165181B2 (en) | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity | 
| US7454611B2 (en) | 2002-11-27 | 2008-11-18 | Intel Corporation | System and method for establishing trust without revealing identity | 
| US7318235B2 (en) | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token | 
| US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines | 
| US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages | 
| US8195914B2 (en) | 2002-12-27 | 2012-06-05 | Intel Corporation | Mechanism for remapping post virtual machine memory pages | 
| US7076802B2 (en) | 2002-12-31 | 2006-07-11 | Intel Corporation | Trusted system clock | 
| US8296762B2 (en) | 2003-06-26 | 2012-10-23 | Intel Corporation | Virtual machine management using processor state information | 
| US7415708B2 (en) | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information | 
| US7287197B2 (en) | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine | 
| US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events | 
| US7739521B2 (en) | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations | 
| US7610611B2 (en) | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder | 
| US8751752B2 (en) | 2003-09-30 | 2014-06-10 | Intel Corporation | Invalidating translation lookaside buffer entries in a virtual machine system | 
| US7302511B2 (en) | 2003-09-30 | 2007-11-27 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system | 
| US7237051B2 (en) | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system | 
| US7177967B2 (en) | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system | 
| US8543772B2 (en) | 2003-09-30 | 2013-09-24 | Intel Corporation | Invalidating translation lookaside buffer entries in a virtual machine (VM) system | 
| US7636844B2 (en) | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device | 
| US9348767B2 (en) | 2003-11-26 | 2016-05-24 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible | 
| US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible | 
| US9087000B2 (en) | 2003-11-26 | 2015-07-21 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible | 
| US9009483B2 (en) | 2003-12-22 | 2015-04-14 | Intel Corporation | Replacing blinded authentication authority | 
| US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority | 
| US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information | 
| US8639915B2 (en) | 2004-02-18 | 2014-01-28 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information | 
| US7356735B2 (en) | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment | 
| US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment | 
| US7861245B2 (en) | 2004-03-31 | 2010-12-28 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment | 
| US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature | 
| US8271976B2 (en) | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine | 
| US7305592B2 (en) | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment | 
| US7840962B2 (en) | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time | 
| US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment | 
| US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information | 
| US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents | 
| US7836275B2 (en) | 2005-01-28 | 2010-11-16 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment | 
| US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment | 
| US7809957B2 (en) | 2005-09-29 | 2010-10-05 | Intel Corporation | Trusted platform module for generating sealed data | 
| US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets | 
| Publication number | Publication date | 
|---|---|
| GB2256513B (en) | 1994-11-23 | 
| GB9210282D0 (en) | 1992-07-01 | 
| JPH04348434A (en) | 1992-12-03 | 
| GB2256513A (en) | 1992-12-09 | 
| Publication | Publication Date | Title | 
|---|---|---|
| DE4217444A1 (en) | METHOD AND DEVICE FOR THE DYNAMIC TRANSFER OF VIRTUAL MACHINES IN A MAIN STORAGE | |
| DE2936932C2 (en) | Channel address control device in a virtual machine arrangement | |
| DE2350884C2 (en) | Address translation unit | |
| DE69425222T2 (en) | Dynamically expandable storage unit matrix system | |
| DE2948285C2 (en) | Address control device for a data processor | |
| DE2645537C2 (en) | ||
| DE19728726B4 (en) | Robot controller and its control method | |
| DE69023499T2 (en) | Computer with expanded virtual memory. | |
| DE3607889C2 (en) | ||
| DE69211231T2 (en) | Method and apparatus for managing off-screen shared memory | |
| DE2463200C2 (en) | ||
| DE2054068A1 (en) | Data processing system with program nesting for the simultaneous processing of several programs | |
| DE102007025397A1 (en) | Multi-processor system and method of operation | |
| DE3932675A1 (en) | VIRTUAL MACHINE SYSTEM | |
| DE2912738A1 (en) | SYSTEM WITH DIRECT TRANSFER BETWEEN SUBSYSTEMS | |
| DE3520510C2 (en) | ||
| DE2054830C3 (en) | Information processing system with means for accessing memory data fields of variable length | |
| CH657218A5 (en) | MULTIPLE-USE DATA PROCESSING MACHINE WITH VIRTUAL MEMORY. | |
| DE2517302C2 (en) | Multi-program data processing device | |
| DE1424732B2 (en) | Device for the mutual exchange of information words between a directly accessible main memory of a numerical calculating machine and a secondary memory connected to this with a comparatively longer access time | |
| DE69032688T2 (en) | Address control system for expanded memory | |
| DE3886756T2 (en) | Access to resources for multiprocessor computer system. | |
| DE3911182C2 (en) | ||
| DE2054947B2 (en) | Data processing system | |
| DE2422732A1 (en) | HIERARCHICAL STORAGE ARRANGEMENT | 
| Date | Code | Title | Description | 
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8130 | Withdrawal |