DE102013100054A1 - Verlagern von zusammengehörigen Ressourcenpartitionen - Google Patents

Verlagern von zusammengehörigen Ressourcenpartitionen Download PDF

Info

Publication number
DE102013100054A1
DE102013100054A1 DE102013100054A DE102013100054A DE102013100054A1 DE 102013100054 A1 DE102013100054 A1 DE 102013100054A1 DE 102013100054 A DE102013100054 A DE 102013100054A DE 102013100054 A DE102013100054 A DE 102013100054A DE 102013100054 A1 DE102013100054 A1 DE 102013100054A1
Authority
DE
Germany
Prior art keywords
resource partition
resource
partition
area
module
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.)
Granted
Application number
DE102013100054A
Other languages
English (en)
Other versions
DE102013100054B4 (de
Inventor
Monica J. Lemay
Purushothama Padmanabha
Yogesh G. Patgar
Shashidhar Soppin
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 DE102013100054A1 publication Critical patent/DE102013100054A1/de
Application granted granted Critical
Publication of DE102013100054B4 publication Critical patent/DE102013100054B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Das Verfahren zum Verlagern zusammengehöriger Ressourcenpartitionen weist das Erkennen eines Verlagerungsereignisses zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich auf. Der erste Bereich weist eine zweite Ressourcenpartition auf. Die erste Ressourcenpartition und die zweite Ressourcenpartition sind jeweils eigene Betriebsumgebungen. Das Verfahren weist außerdem das Feststellen auf, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Das Verfahren weist als Reaktion auf das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, das Verlagern der zweiten Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich auf.

Description

  • Gebiet
  • Der hier offenbarte Gegenstand betrifft Ressourcenpartitionen in einer virtualisierten Datenverarbeitungsumgebung und insbesondere das Verlagern zusammengehöriger Ressourcenpartitionen.
  • Hintergrund
  • Beschreibung des Stands der Technik
  • Die Virtualisierung von Hardware und Software ermöglicht die Abstraktion einer Datenverarbeitungsplattform und/oder eines Betriebssystems, um Computerumgebungen zu simulieren, in denen Anwendungen, Programme und Betriebssysteme ausgeführt werden können. Normalerweise verwaltet eine Anwendung auf einer Datenverarbeitungsplattform, zum Beispiel ein Hypervisor, diese virtuellen Umgebungen bzw. Ressourcenpartitionen (Partitionen der Ressourcen der Datenverarbeitungsplattform) und/oder stellt diese bereit.
  • Viele Virtualisierungssysteme stellen die Mobilität von Ressourcenpartitionen bereit – die Fähigkeit, eine Ressourcenpartition von einem Bereich (wie zum Beispiel ein Computersystem) auf einen anderen Bereich zu verlagern, um die Auslastung gleichmäßiger zu verteilen, Ressourcen auf einem Computersystem freizugeben und dergleichen. Oftmals tauschen Ressourcenpartitionen Daten mit anderen Ressourcenpartitionen im selben oder in einem anderen Bereich aus. Daher kann das Verlagern einer Ressourcenpartition unter Umständen den Datenaustauschverkehr mit der betreffenden Ressourcenpartition und anderen Ressourcenpartitionen beeinträchtigen.
  • Kurzdarstellung
  • Es wird eine Ausführungsform eines Verfahrens zum Verlagern zusammengehöriger Ressourcenpartitionen bereitgestellt. Das Verfahren weist das Erkennen eines Verlagerungsereignisses zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich auf. Der erste Bereich weist eine zweite Ressourcenpartition auf. Die erste Ressourcenpartition und die zweite Ressourcenpartition sind jeweils eigene Betriebsumgebungen. Das Verfahren weist außerdem das Feststellen auf, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Das Verfahren weist als Reaktion auf das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört (bzw. in ausreichender Weise Bezug nimmt), das Verlagern der zweiten Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich auf.
  • Eine Ausführungsform einer Vorrichtung zum Verlagern zusammengehöriger Ressourcenpartitionen wird mit einer Vielzahl von Modulen bereitgestellt, die so gestaltet sind, dass sie die oben im Hinblick auf das vorgestellte Verfahren beschriebenen Schritte funktionell ausführen. Diese Module bei den beschriebenen Ausführungsformen weisen ein Erkennungsmodul, ein Ermittlungsmodul und ein Verlagerungsmodul auf. Das Erkennungsmodul erkennt ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich auf. Der erste Bereich weist eine zweite Ressourcenpartition auf, und die erste Ressourcenpartition und die zweite Ressourcenpartition sind jeweils eigene Betriebsumgebungen. Das Ermittlungsmodul stellt fest, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Das Verlagerungsmodul verlagert als Reaktion darauf, dass das Ermittlungsmodul feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich.
  • Es wird eine Ausführungsform eines Systems zum Verlagern zusammengehöriger Ressourcenpartitionen vorgestellt. Das System weist einen Prozessor, einen Arbeitsspeicher, der mit dem Prozessor in Verbindung steht, einen Betriebssystemkern und eine Partitionsverlagerungsvorrichtung auf, die im Arbeitsspeicher gespeichert ist und durch den Prozessor ausgeführt wird. Die Partitionsverlagerungsvorrichtung steht mit dem Betriebssystemkern in Verbindung. Die Partitionsverlagerungsvorrichtung weist ein Erkennungsmodul, ein Ermittlungsmodul und ein Verlagerungsmodul auf. Das Erkennungsmodul erkennt ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich auf. Der erste Bereich weist eine zweite Ressourcenpartition auf, und die erste Ressourcenpartition und die zweite Ressourcenpartition sind jeweils eigene Betriebsumgebungen. Das Ermittlungsmodul stellt fest, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Das Verlagerungsmodul verlagert als Reaktion darauf, dass das Ermittlungsmodul feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich.
  • Es wird eine weitere Ausführungsform eines Verfahrens vorgestellt, das das Bereitstellen einer Partitionsverlagerungsvorrichtung auf einem Datenverarbeitungssystem aufweist. Die Partitionsverlagerungsvorrichtung ist in der Lage, ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich zu erkennen. Der erste Bereich weist eine zweite Ressourcenpartition auf. Die erste Ressourcenpartition und die zweite Ressourcenpartition sind jeweils eigene Betriebsumgebungen. Die Partitionsverlagerungsvorrichtung ist außerdem in der Lage, festzustellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Die Partitionsverlagerungsvorrichtung ist darüber hinaus in der Lage, als Reaktion auf das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich zu verlagern.
  • Kurzbeschreibung der Zeichnungen
  • Zum leichteren Verständnis der Vorteile der Ausführungsformen der Erfindung folgt nun eine eingehendere Beschreibung der oben kurz beschriebenen Ausführungsformen, wobei auf bestimmte Ausführungsformen Bezug genommen wird, die in den beigefügten Zeichnungen veranschaulicht sind. Unter Berücksichtigung der Tatsache, dass die Zeichnungen lediglich einige Ausführungsformen der Erfindung veranschaulichen und daher nicht als Einschränkung des Schutzbereichs zu betrachten sind, werden die Ausführungsformen unter Verwendung der beigefügten Zeichnungen eingehender und genauer beschrieben und erläutert, wobei:
  • 1 ein schematisches Blockschaltbild ist, das eine Ausführungsform eines Systems zum Verlagern von Ressourcenpartitionen gemäß der vorliegenden Erfindung veranschaulicht;
  • 2 ein schematisches Blockschaltbild ist, das eine weitere Ausführungsform eines Systems zum Verlagern von Ressourcenpartitionen gemäß der vorliegenden Erfindung veranschaulicht;
  • 3A ein schematisches Blockschaltbild ist, das eine Ausführungsform eines WPAR-Verlagerungsereignisses (WPAR = Workloadpartition) gemäß der vorliegenden Erfindung veranschaulicht;
  • 3B ein schematisches Blockschaltbild ist, das eine Ausführungsform des Verlagerns einer zugehörigen WPAR gemäß der vorliegenden Erfindung veranschaulicht;
  • 3C ein schematisches Blockschaltbild ist, das eine Ausführungsform einer verlagerten zugehörigen WPAR gemäß der vorliegenden Erfindung veranschaulicht;
  • 4A ein schematisches Blockschaltbild ist, das eine Ausführungsform eines LPAR-Verlagerungsereignisses (LPAR = logische Partition) gemäß der vorliegenden Erfindung veranschaulicht;
  • 4B ein schematisches Blockschaltbild ist, das eine Ausführungsform des Verlagerns einer zugehörigen LPAR gemäß der vorliegenden Erfindung veranschaulicht;
  • 4C ein schematisches Blockschaltbild ist, das eine Ausführungsform einer verlagerten zugehörigen LPAR gemäß der vorliegenden Erfindung veranschaulicht;
  • 5 ein schematisches Blockschaltbild ist, das eine Ausführungsform einer Partitionsverlagerungsvorrichtung gemäß der vorliegenden Erfindung veranschaulicht;
  • 6 ein schematisches Blockschaltbild ist, das eine weitere Ausführungsform einer Partitionsverlagerungsvorrichtung gemäß der vorliegenden Erfindung veranschaulicht;
  • 7 ein schematischer Ablaufplan ist, der eine Ausführungsform eines Verfahrens zum Verlagern von Ressourcenpartitionen gemäß der vorliegenden Erfindung veranschaulicht;
  • 8 ein detaillierter schematischer Ablaufplan ist, der eine weitere Ausführungsform eines Verfahrens zum Verlagern von Ressourcenpartitionen gemäß der vorliegenden Erfindung veranschaulicht;
  • 9A ein schematischer Ablaufplan ist, der eine Ausführungsform eines Verfahrens zum Bereitstellen einer virtuellen Gast-Sicherheitsvorrichtung gemäß der vorliegenden Erfindung veranschaulicht; und
  • 9B eine Fortsetzung der 9A ist, die eine Ausführungsform eines Verfahrens zum Bereitstellen einer virtuellen Gast-Sicherheitsvorrichtung gemäß der vorliegenden Erfindung veranschaulicht.
  • Ausführliche Beschreibung der Erfindung
  • Die Bezugnahme auf Merkmale oder Vorteile bzw. ähnliche Formulierungen bedeuten nicht, dass alle Merkmale und Vorteile in einer beliebigen einzelnen Ausführungsform realisiert sein können. Stattdessen bedeuten Formulierungen, die sich auf die Merkmale und Vorteile beziehen, dass ein bestimmtes Merkmal, ein bestimmter Vorteil bzw. eine bestimmte Eigenschaft in zumindest einer Ausführungsform enthalten ist. Daher können sich, müssen es aber nicht notwendigerweise, die Erörterung der Merkmale und Vorteile und die Verwendung ähnlicher Formulierungen in der vorliegenden Beschreibung auf dieselbe Ausführungsform beziehen.
  • Des Weiteren können die beschriebenen Merkmale, Vorteile und Eigenschaften der Ausführungsformen in einer beliebigen geeigneten Weise kombiniert sein. Fachleuten ist klar, dass die Ausführungsformen ohne eines oder mehrere der jeweiligen Merkmale oder Vorteile einer bestimmten Ausführungsform in die Praxis umgesetzt werden können. In anderen Fällen können weitere Merkmale und Vorteile in bestimmten Ausführungsformen festzustellen sein, die nicht in allen Ausführungsformen sein können.
  • Diese Merkmale und Vorteile der Ausführungsformen werden anhand der folgenden Beschreibung und der beigefügten Ansprüche klarer, oder die Merkmale und Vorteile werden durch die praktische Umsetzung der Ausführungsformen anhand der folgenden Ausführungen ersichtlich. Fachleuten wird klar sein, dass Aspekte der vorliegenden Erfindung in Form eines Systems, Verfahrens und/oder Computerprogrammprodukts verkörpert sein können. Demzufolge können Aspekte der vorliegenden Erfindung die Form einer komplett in Hardware realisierten Ausführungsform, einer komplett 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 Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf denen computerlesbarer Programmcode verkörpert ist.
  • Viele der in der vorliegenden Beschreibung beschriebenen Funktionseinheiten werden als Module bezeichnet, um insbesondere ihre voneinander unabhängige Realisierung zu unterstreichen. Beispielsweise kann ein Modul als Hardwareschaltung realisiert sein, die kundenspezifische VLSI-Schaltungen oder Gate-Arrays, handelsübliche Halbleiter wie z. B. Logikschaltkreise, Transistoren oder andere diskrete Bauteile aufweist. Ein Modul kann auch in Form von programmierbaren Hardwareeinheiten realisiert sein, z. B. als FPGA (Field Programmable Gate Array), PAL (Programmable Array Logic), programmierbare Logikeinheiten oder dergleichen.
  • Module können außerdem zwecks Durchführung auf verschiedenen Arten von Prozessoren in Software realisiert sein. Ein bezeichnetes Modul mit computerlesbarem Code kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computeranweisungen aufweisen, die zum Beispiel als Objekt, Prozedur oder Funktion organisiert sein können. Ungeachtet dessen müssen die ausführbaren Bestandteile eines bezeichneten Moduls physisch nicht zusammen angeordnet sein, sondern können ganz verschiedene Anweisungen aufweisen, die an unterschiedlichen Stellen gespeichert sind und, wenn sie zusammengefügt werden, das Modul aufweisen und den festgelegten Zweck des Moduls erreichen.
  • Tatsächlich kann ein Modul mit computerlesbarem Programmcode eine einzige Anweisung oder viele Anweisungen aufweisen, und es kann sogar auf mehrere unterschiedliche Codesegmente, auf verschiedene Programme und auf mehrere Speichereinheiten aufgeteilt sein. Ebenso können Betriebsdaten im vorliegenden Dokument innerhalb von Modulen bezeichnet und dargestellt sein, und sie können in einer beliebigen Art von Datenstruktur in beliebiger geeigneter Form verkörpert und organisiert sein. Die Betriebsdaten können als ein Datensatz erfasst werden, oder sie können auf unterschiedliche Stellen, auch auf unterschiedlichen Speichereinheiten, verteilt sein, und können zumindest teilweise als elektronische Signale auf einem System oder Netzwerk vorhanden sein. Wenn ein Modul oder Teile eines Moduls in Software realisiert sind, kann der computerlesbare Programmcode auf einem oder mehreren computerlesbaren Medien gespeichert und/oder auf diese verteilt sein.
  • Das computerlesbare Medium kann ein vergegenständlichtes computerlesbares Speichermedium sein, auf dem der computerlesbare Programmcode gespeichert ist. Zu computerlesbaren Speichermedien können beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, holografisches oder mikromechanisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder eine beliebige geeignete Kombination des Vorstehenden gehören.
  • Zu genaueren Beispielen des computerlesbaren Speichermediums können, ohne darauf beschränkt zu sein, eine tragbare Computerdiskette, Festplatte, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), optische Speichereinheit, ein holografisches Speichermedium, eine magnetische Speichereinheit, eine mikromechanische Speichereinheit oder beliebige geeignete Kombinationen des Vorstehenden gehören. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das computerlesbaren Programmcode enthalten oder/oder speichern kann, der von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
  • Das computerlesbare Medium kann auch ein computerlesbares Signalmedium sein. 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 elektrischen, elektromagnetischen, magnetischen 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 computerlesbaren Programmcode übertragen, senden oder transportieren kann, der von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann. Auf einem computerlesbaren Signalmedium verkörperter computerlesbarer Programmcode kann unter Verwendung jedes beliebigen geeigneten Mediums, darunter und ohne Beschränkung auf die Aufzählung, drahtgebundene Medien, Lichtwellenleiter, Hochfrequenz (HF) und dergleichen oder unter Verwendung beliebiger geeigneter Kombinationen des Vorstehenden übertragen werden.
  • Bei einer Ausführungsform kann das computerlesbare Medium eine Kombination aus einem oder mehreren computerlesbaren Speichermedien und einem oder mehreren computerlesbaren Signalmedien aufweisen. Beispielsweise kann der computerlesbare Programmcode sowohl als elektromagnetisches Signal über einen Lichtwellenleiter zur Verarbeitung durch einen Prozessor verbreitet als auch in einer RAM-Speichereinheit zur Ausführung durch einen Prozessor gespeichert werden.
  • Computerlesbarer Programmcode zum Ausführen von Operationen bei Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++, PHP oder dergleichen und in herkömmlichen prozeduralen Programmiersprachen wie „C” oder ähnlichen Programmiersprachen geschrieben sein. Der computerlesbare 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)).
  • In der vorliegenden Beschreibung bedeuten der Begriff „eine Ausführungsform” bzw. ähnliche Formulierungen, dass zumindest eine Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur bzw. eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, aufweist. Daher kann sich, muss es aber nicht notwendigerweise, in der vorliegenden Beschreibung das Auftreten der Formulierung „bei einer Ausführungsform” bzw. ähnlicher Formulierungen auf dieselbe Ausführungsform beziehen, bedeutet jedoch „eine oder mehrere, jedoch nicht alle Ausführungsformen”, sofern dies nicht ausdrücklich anderweitig angegeben ist. Die Begriffe „einschließlich”, „aufweisen/aufweisend”, „hat/haben” und Variationen davon bedeuten „einschließlich, ohne darauf beschränkt zu sein”, sofern dies nicht ausdrücklich anderweitig angegeben ist. Alle nummerierten Aufstellungen von Elementen schließen nicht stillschweigend ein, dass sich beliebige oder alle der Elemente gegenseitig ausschließen und/oder einander einschließen, sofern dies nicht ausdrücklich anderweitig angegeben ist. Die Begriffe „ein/eine” und „der/die/das” bezeichnen ebenfalls „ein/eine oder mehrere”, sofern dies nicht ausdrücklich anderweitig angegeben ist.
  • Des Weiteren können die beschriebenen Merkmale, Strukturen oder Eigenschaften der Ausführungsformen in einer beliebigen geeigneten Weise kombiniert sein. In der folgenden Beschreibung sind zahlreiche konkrete Details aufgeführt, zum Beispiel Programmierbeispiele, Softwaremodule, Benutzerauswahlen, Netzwerktransaktionen, Datenbankabfragen, Datenbankstrukturen, Hardwaremodule, Hardwareschaltungen, Hardwareschaltkreise usw., um ein gründliches Verständnis der Ausführungsformen zu ermöglichen. Fachleuten ist jedoch klar, dass Ausführungsformen ohne eines oder mehrere der konkreten Details oder mit anderen Verfahren, Komponenten, Materialien usw. in die Praxis umgesetzt werden können. In anderen Fällen sind allgemein bekannte Strukturen, Materialien oder Vorgänge nicht im Detail gezeigt oder beschrieben, um die Deutlichkeit von Aspekten einer Ausführungsform nicht zu beeinträchtigen.
  • Nachstehend werden Aspekte der Ausführungsformen unter Bezugnahme auf schematische Ablaufpläne und/oder schematische Blockschaltbilder von Verfahren, Vorrichtungen, Systemen und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der schematischen Ablaufpläne und/oder der schematischen Blockschaltbilder und Kombinationen von Blöcken in den schematischen Ablaufplänen und/oder schematischen Blockschaltbildern durch computerlesbaren Programmcode realisiert werden kann bzw. können. Der computerlesbare Programmcode kann einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers, einer Ablaufsteuerung oder anderer programmierbarer 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 der schematischen Ablaufpläne und/oder der schematischen Blockschaltbilder angegebenen Funktionen/Aktionen schaffen.
  • Der computerlesbare Programmcode kann 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 der schematischen Ablaufpläne und/oder der schematischen Blockschaltbilder angegebene Funktion/Aktion realisieren.
  • Der computerlesbare Programmcode kann 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 der Programmcode, der auf dem Computer oder auf anderen programmierbaren Vorrichtungen ausgeführt wird, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen bereitstellt.
  • Die schematischen Ablaufpläne und/oder schematischen Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Realisierungsformen von Vorrichtungen, Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den schematischen Ablaufplänen und/oder schematischen Blockschaltbildern ein Modul, ein Segment oder einen Teil des Codes darstellen, der eine oder mehrere ausführbare Anweisungen des Programmcodes zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist.
  • Außerdem ist anzumerken, dass bei einigen alternativen Realisierungsformen die im Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Es können andere Schritte und Verfahren entworfen werden, die in Funktion, Logik oder Auswirkung einem oder mehreren in den veranschaulichten Figuren dargestellten Blöcken oder Teilen davon gleichen.
  • Obwohl im Ablaufplan und/oder in den Blockschaltbildern verschiedene Pfeil- und Linienarten verwendet sein können, versteht es sich, dass diese den Schutzbereich der entsprechenden Ausführungsformen nicht einschränken. Vielmehr können manche Pfeile und andere Konnektoren verwendet werden, um nur den logischen Fluss der dargestellten Ausführungsform anzugeben. Beispielsweise kann ein Pfeil eine Warte- oder Überwachungszeit mit nicht festgelegter Dauer zwischen nummerierten Schritten der dargestellten Ausführungsform angeben. Außerdem ist anzumerken, dass jeder Block der Blockschaltbilder und/oder der Ablaufpläne sowie Kombinationen von Blöcken in den Blockschaltbildern und/oder in den Ablaufplänen mithilfe von zweckgebundenen Systemen auf der Grundlage von Hardware oder mithilfe von Kombinationen aus spezieller zweckgebundener Hardware und computerlesbarem Programmcode realisiert sein kann, um die angegebenen Funktionen bzw. Aktionen durchzuführen.
  • 1 ist ein schematisches Blockschaltbild, das eine Ausführungsform eines Systems 100 zum Verlagern von Ressourcenpartitionen veranschaulicht. Bei der abgebildeten Ausführungsform weist das System 100 ein Computersystem 105 mit einem Hypervisor 110 auf und stellt eine erste und zweite logische Partition (LPAR) 115a, b bereit, wobei jede LPAR 115a, b eine Betriebssysteminstanz (BS-Instanz) 120a, b (z. B. eine erste BS-Instanz 120a und eine zweite BS-Instanz 120b) aufweist. Die erste BS-Instanz 120a weist eine erste und zweite Workloadpartition (WPAR) 125a, b auf, und die zweite BS-Instanz 120b weist eine dritte WPAR 125c auf. Das Computersystem 105 steht über ein Netzwerk 130 mit einem oder mehreren Clients 135a, 135b, 135c in Verbindung.
  • Das Computersystem 105 kann einen Prozessor und einen Arbeitsspeicher aufweisen, der computerlesbare Programme speichert. Der Arbeitsspeicher kann durch flüchtigen Speicher wie zum Beispiel durch dynamischen Direktzugriffsspeicher („DRAM”), statischen Direktzugriffsspeicher („SRAM”) oder anderen geeigneten flüchtigen Speicher verkörpert sein. Der Prozessor führt die computerlesbaren Programme aus, wie Fachleuten allgemein bekannt ist. Die computerlesbaren Programme können im Speicher des Computersystems 105 in vergegenständlichter Form gespeichert sein. Zum Speicher können ein Halbleiterlaufwerk („SSD”), ein Festplattenlaufwerk („HDD”), eine optische Speichereinheit, eine holografische Speichereinheit, eine mikromechanische Speichereinheit oder eine andere nichtflüchtige Datenspeichereinheit gehören. Das Computersystem 105 kann als Server-Computer, Desktop-Computer, Notebook-Computer, Tablet-Computer, mobile Einheit oder als andere Einheit verkörpert sein. Bei einer Ausführungsform ist das Computersystem 105 ein Computersystem von International Business Machines (IBM®) wie zum Beispiel, ohne darauf beschränkt zu sein, ein Computer des Typs System z® oder Power Systems®. In dem hier bei bestimmten Ausführungsformen verwendeten Sinn bezeichnet der Begriff „Bereich” ein Computersystem 105.
  • Ein Hypervisor 100 (der auch als „Virtual Machine Monitor” bezeichnet wird) weist Software und/oder Hardware auf, um eine oder mehrere virtuelle Maschinen bereitzustellen und/oder aufzunehmen. Wie nach dem Stand der Technik bekannt abstrahiert eine virtuelle Maschine Eigenschaften der eigentlichen Hardware des Computersystems 105 und stellt eine virtuelle Darstellung der Datenverarbeitungsressourcen zur Verwendung durch einen virtuellen Gast wie zum Beispiel ein Betriebssystem bereit. Der virtuelle Gast wird auf der virtuellen Maschine ausgeführt, als würde er direkt auf dem Computersystem 105 ausgeführt werden, mit der Ausnahme, dass der Hypervisor 110 die Ausführung des virtuellen Gastes verwaltet und den Zugriff auf verschiedene Systemressourcen beschränken kann. Der Hypervisor 110 kann jedem virtuellen Gast einen Teil der Ressourcen des unterlagerten Computersystems 105 bereitstellen, zum Beispiel eine Teilmenge des Anweisungssatzes der unterlagerten Maschine des Computersystems 105, der Kernaufrufe, Hardwareregister und dergleichen. Bei einer Ausführungsform ist der Hypervisor 110 ein LPAR-Hypervisor von IBM®, ein Processor-Resource-/System-Manager-Hypervisor (PR/SMTM) von IBM®, ein POWER HypervisorTM von IBM® oder ein anderer geeigneter Hypervisor 110, der LPAR unterstützen kann.
  • Bei der abgebildeten Ausführungsform stellt der Hypervisor 110 eine erste LPAR 115a und eine zweite LPAR 115b bereit und/oder nimmt diese auf. Obwohl in 1 zwei LPAR 115a, b abgebildet sind, kann das Computersystem 105 in eine beliebige geeignete Anzahl von LPAR 115a, b partitioniert sein. Eine LPAR 115a, b ist eine Art virtueller Maschine, die eine logische Teilmenge der Hardwareressourcen des Computersystems 105 als virtuellen separaten Computer aufweist. Der Hypervisor 110 kann das Computersystem 105 wie abgebildet in mehrere LPAR 115a, b partitionieren, wobei jede LPAR 115a, b eine separate BS-Instanz 120a, b aufnimmt. Jede LPAR stellt eine eigene Betriebsumgebung bereit, in der eine BS-Instanz 120a, b ausgeführt werden kann.
  • Des Weiteren kann jede LPAR 115a, b von einem gemeinsamen Arbeitsspeicher Chip aus auf unterschiedliche Adressbereiche zugreifen. Ein Prozessor kann einer bestimmten LPAR 115a, b fest zugeordnet sein oder von den LPAR 115a, b gemeinsam genutzt werden. Bei einer Ausführungsform sind die erste und zweite LPAR 115a, b logische Partitionen, die von IBM®-Software und/oder -Hardware auf IBM®-Computern und -Servern wie zum Beispiel und ohne darauf beschränkt zu sein, von Computern und Servern des Typs System z® oder Power Systems® und/oder Betriebssystemen wie zum Beispiel z/OS, z/VM, z/VSE, z/TPF, AIX, Linux und i5/OS bereitgestellt werden. In dem hier bei bestimmten Ausführungsformen verwendeten Sinn bezeichnet der Begriff „Ressourcenpartition” eine LPAR 115a, b. In dem hier bei bestimmten Ausführungsformen verwendeten Sinn bezeichnet der Begriff „Bereich” eine LPAR 115a, b.
  • Jede BS-Instanz 120a, b kann ein ausführendes Betriebssystem mit einem Betriebssystemkern aufweisen, der davon ausgeht, dass er direkt mit Hardware des Computersystems 105 Daten austauscht. Beispielsweise kann eine erste BS-Instanz 120a eine Seitentabelle verwalten, in der eine Zuordnung zwischen physischen Adressen im Arbeitsspeicher und logischen Adressen gespeichert ist, die ein Prozessor von einem Client wie zum Beispiel einer Anwendung empfängt. Die erste BS-Instanz 120a kann davon ausgehen, dass die physischen Adressen in ihrer Seitentabelle tatsächliche physische Adressen im Arbeitsspeicher sind und dass die erste BS-Instanz 120a tatsächlich mit dem Prozessor und anderen Hardwaredatenstrukturen des Computersystems 105 Daten austauscht. Anstelle des Prozessors kann jedoch die erste BS-Instanz 120a tatsächlich mit dem Hypervisor 110 Daten austauschen, und die vermuteten physischen Adressen werden von dem Hypervisor 110 als virtuelle Adressen behandelt, der eine andere Zuordnungsschicht durchführt, um jede vermutete physische Adresse einer tatsächlichen physischen Adresse des Arbeitsspeichers des Computersystems zuzuordnen. Bei einer Ausführungsform weisen die erste und zweite BS-Instanz 120a, b jeweils Instanzen des Betriebssystems Advanced Interactive eXecutive („AIX”) von IBM® auf.
  • Wie abgebildet werden eine erste WPAR 125a und eine zweite WPAR 125b in der ersten BS-Instanz ausgeführt, und eine dritte WPAR 125c wird in der zweiten BS-Instanz 120b ausgeführt, obwohl jede BS-Instanz 120a, b eine beliebige Anzahl von WPAR 125a bis c ausführen kann. Während die LPAR 115a, b die virtuelle Partitionierung des Computersystems 105 ermöglichen, ermöglichen die WPAR 125a bis c die Partitionierung einer Betriebssysteminstanz 120a. Eine WPAR 125a ist eine Softwarepartition, die durch eine BS-Instanz 120a erzeugt wurde und auf dieser untergebracht ist und Ressourcen der BS-Instanz 120a gemeinsam mit anderen WPAR 125b nutzt. Jede WPAR 125a bis c ist eine virtualisierte Betriebssystemumgebung, die innerhalb einer einzelnen BS-Instanz 120a, b erzeugt wurde. Jede WPAR 125a bis c stellt die Trennung von Anwendungsumgebungen und die Virtualisierung auf der Betriebssystemebene bereit. Bei einer Ausführungsform sind die WPAR 125a bis c Softwarepartitionen einer AIX-Betriebssysteminstanz. In dem hierbei bestimmten Ausführungsformen verwendeten Sinn bezeichnet der Begriff „Ressourcenpartition” eine WPAR 125a bis c.
  • Das Netzwerk 130 kann ein Datenaustauschnetzwerk wie zum Beispiel das Internet, ein Local Area Network („LAN”), ein Wireless-LAN („WLAN”), mehrere LAN, die Daten über das Internet austauschen, oder ein beliebiges anderes ähnliches Datenaustauschnetzwerk aufweisen. Jeder Client 135a, 135b, 135c tauscht über das Netzwerk 130 Daten mit dem Computersystem 105 aus. Beispielsweise kann ein Client 135a auf eine bestimmte Anwendung zugreifen, die in der ersten WPAR 125a der ersten BS-Instanz 120a ausgeführt wird. Bei einer Ausführungsform kann ein Client 135a als Desktop-Computer, tragbarer Computer, Server, Großrechner, Handcomputereinheit, Touchscreen-Einheit, PDA (Personal Digital Assistant), Tablet-Computer, E-Book-Lesegerät, Mobiltelefon, Smartphone und dergleichen verkörpert sein.
  • 2 ist ein schematisches Blockschaltbild, das eine weitere Ausführungsform eines Systems 200 zum Verlagern von Ressourcenpartitionen veranschaulicht. In 2 ist speziell eine Ausführungsform des Computersystems 105, des Hypervisors 110 und einer ersten und zweiten LPAR 115a, b mit jeweils einer BS-Instanz (erste und zweite BS-Instanz 120a, b in der ersten bzw. zweiten LPAR 115a, b) abgebildet, die im Wesentlichen den in gleicher Weise benannten Elementen in 1 ähneln können. Ebenso weist die erste BS-Instanz 120a eine erste und zweite WPAR 125a, b auf, und die zweite BS-Instanz 120b weist eine dritte WPAR 125c auf, die ebenfalls im Wesentlichen den in gleicher Weise benannten Elementen in 1 ähneln können.
  • Bei bestimmten Ausführungsformen können die WPAR 125a bis c untereinander Daten austauschen. Beispielsweise kann die erste WPAR 125a Daten mit der zweiten WPAR 125b austauschen (z. B. kann eine auf der ersten WPAR 125a ausgeführte Anwendung Daten mit einer Anwendung austauschen, die auf der zweiten WPAR 125b ausgeführt wird). Bei einer Ausführungsform können die WPAR 125a, b, die in einer gemeinsamen LPAR 115a ausgeführt werden, über eine Loopback-Schnittstelle Daten untereinander austauschen, wodurch eine bessere Optimierung der Netzwerkbandbreite erreicht wird. Eine Loopback-Schnittstelle ist eine in Software realisierte virtuelle Netzwerkschnittstelle, die einen effizienteren Datenaustausch ermöglicht, da die Daten nicht über einen physischen Datenaustauschadapter übertragen werden müssen. An die Loopback-Schnittstelle gesendeter Datenverkehr wird oftmals auf derselben Schnittstelle empfangen. Daher ist der Datenaustausch zwischen der ersten WPAR 125a und der zweiten WPAR 125b normalerweise effizienter als der Datenaustausch zwischen der ersten oder zweiten WPAR 125a, b und der dritten WPAR 125c.
  • Ebenso können bei bestimmten Ausführungsformen die LPAR 115a, b untereinander Daten austauschen. Beispielsweise kann die erste LPAR 115a Daten mit der zweiten LPAR 115b austauschen (z. B. können auf der ersten LPAR 115a ausgeführte Anwendungen Daten mit Anwendungen austauschen, die auf der zweiten LPAR 121b ausgeführt werden). Bei einer Ausführungsform können die LPAR 115a, b, die auf einem gemeinsamen Computersystem 105 ausgeführt werden, über eine gemeinsame Ethernet-Schnittstelle Daten untereinander austauschen, wodurch eine bessere Optimierung der Netzwerkbandbreite erreicht wird. Virtuelles Ethernet ermöglicht den LPAR 115a, b in einem gemeinsamen Computersystem 105, miteinander Daten auszutauschen, ohne über physische Hardware kommunizieren zu müssen. Daher ist der Datenaustausch zwischen der ersten LPAR 115a und der zweiten LPAR 115b normalerweise effizienter als der Datenaustausch zwischen der ersten oder zweiten LPAR 115a, b und einer LPAR auf einem anderen Computersystem 105.
  • Viele herkömmliche Hypervisor-Einheiten 110 und Computersysteme 105 (zur Virtualisierung konfiguriert) unterstützen die Migration virtueller Maschinen bzw. virtueller Gäste, bei der eine virtuelle Maschine oder ein virtueller Gast von einem Ort an einen anderen bewegt wird (z. B. auf ein anderes Computersystem oder auf eine andere Partition auf einem Computersystem). In ähnlicher Weise ist der Hypervisor 110 und/oder das Computersystem 105 bei einer Ausführungsform so konfiguriert, dass er bzw. es Live Partition Mobility („LPM”) durchführt, wozu das Verlagern und Ausführen der LPAR 115a und/oder der WPAR 125a gehört (z. B. Kopieren einer bestimmten WPAR 125a und deren Ausführungsauslastung von einem ersten Ort an einen zweiten Ort).
  • Bei einer Ausführungsform verlagert der Hypervisor 110 eine LPAR 115a von einem ersten Computersystem 105 auf ein zweites Computersystem 105. Bei einer Ausführungsform verlagert der Hypervisor 110 eine WPAR 125a von einer ersten LPAR 115a auf eine zweite LPAR 115b. Als Reaktion auf verschiedene Auslöser (Trigger) kann der Hypervisor 110 eine richtlinienbasierte Verlagerung einer WPAR 125a oder einer LPAR 115a realisieren. Beispielsweise kann der Hypervisor 110 eine bestimmte LPAR 115a verlagern, wenn der Speicherplatz des Host-Computersystems 105 der betreffenden LPAR 115a unter einen Mindestschwellenwert absinkt. Der Hypervisor 110 kann eine bestimmte WPAR 125a verlagern, wenn die Ressourcennutzung der bereitstellenden/verwaltenden LPAR 115a vorgegebene Kriterien überschreitet. Andere geeignete Auslöser und Verlagerungskriterien sind für Fachleute klar. Des Weiteren kann ein Benutzer bei einigen Ausführungsformen in bestimmten Fällen auch die Verlagerung von WPAR/LPAR veranlassen, zum Beispiel vor einer Hardware- oder Softwareaufrüstung oder vor einer geplanten Abschaltung.
  • Herkömmliche Hypervisor-Einheiten 110 berücksichtigen jedoch beim Verlagern einer LPAR 115a oder einer WPAR 125a den Datenaustausch zwischen WPAR untereinander oder LPAR untereinander nicht. Daher kann der Hypervisor 110 ein Verlagerungsereignis auslösen, um eine bestimmte LPAR 115a oder eine bestimmte WPAR 125a zu verlagern, die in großem Umfang Daten mit anderen LPAR 115b oder WPAR 125b austauscht. Wenn die betreffende LPAR 115A auf ein anderes Computersystem 105 verlagert wird oder wenn die betreffende WPAR 125a auf eine andere LPAR 115b verlagert wird, kann die Effizienz des Datenaustauschs abnehmen, wenn die verlagerte WPAR 125a oder LPAR 115a einen erheblichen Datenaustausch mit den WPAR 125b oder LPAR 115b ohne den Vorteil der Loopback-Schnittstelle oder von virtuellem Ethernet aufrechterhält. Wenn die erste WPAR 125a einen erheblichen Datenaustausch mit der zweiten WPAR 125b durchführt und die erste WPAR 125a von der ersten LPAR 115a auf die zweite LPAR 115b verlagert wird, nutzt der nachfolgende Datenaustausch zwischen der ersten und zweiten WPAR 125a, b eine größere Bandbreite.
  • Daher weist das System 200 eine Partitionsverlagerungsvorrichtung 205 auf, die ein Verlagerungsereignis (das z. B. durch den Hypervisor 110 ausgelöst wurde) zur Verlagerung einer Ressourcenpartition (z. B. einer LPAR 115a, b oder einer WPAR 125a bis c) erkennt. Die Partitionsverlagerungsvorrichtung 205 kann ermitteln, ob beliebige andere Ressourcenpartitionen, die sich im selben Bereich befinden (z. B. eine LPAR 115a, wenn eine WPAR 125a verlagert wird, und ein Computersystem 105, wenn eine LPAR 115a verlagert wird), in ausreichender Weise zusammengehören. Die Partitionsverlagerungsvorrichtung 205 kann dann beliebige zusammengehörige Ressourcenpartitionen verlagern oder deren Verlagerung veranlassen, sodass der Datenaustausch zwischen der verlagerten Ressourcenpartitionen und beliebigen, im Wesentlichen zusammengehörigen Ressourcenpartitionen von der Loopback-Schnittstelle oder vom virtuellen Ethernet profitieren kann.
  • Bei der abgebildeten Ausführungsform befindet sich die Partitionsverlagerungsvorrichtung 205 in der ersten BS-Instanz 120a und/oder wird dort ausgeführt. Bei bestimmten Ausführungsformen befindet sich die Partitionsverlagerungsvorrichtung 205 in einer BS-Instanz 120a, b und/oder wird dort ausgeführt, die der Ressourcenpartition zugehörig ist, bei der es sich um das Ziel des Verlagerungsereignisses handelt (z. B. die Ressourcenpartition, die gegenwärtig durch den Hypervisor 110 verlagert wird). Bei einigen Ausführungsformen befindet sich eine Kopie und/oder ein Teil der Partitionsverlagerungsvorrichtung 205 in mehreren BS-Instanzen und/oder wird dort ausgeführt (z. B. kann die erste BS-Instanz 120a eine erste Kopie einer Partitionsverlagerungsvorrichtung 205 für ihre LPAR 115a und WPAR 125a, b aufweisen, und die zweite BS-Instanz 120b kann eine zweite Kopie einer Partitionsverlagerungsvorrichtung 205 für ihre LPAR 115b und WPAR 125c aufweisen).
  • Während sich die abgebildete Partitionsverlagerungsvorrichtung 205 in der ersten BS-Instanz 120a befindet, kann die Partitionsverlagerungsvorrichtung 205 in Verbindung mit der ersten BS-Instanz 120a stehen (z. B. mit einem Betriebssystemkern der ersten BS-Instanz 120a), unabhängig davon, ob die Partitionsverlagerungsvorrichtung 205 in die erste BS-Instanz 120a integriert (z. B. ist die Partitionsverlagerungsvorrichtung 205 Teil des Betriebssystemcodes) oder als von der ersten BS-Instanz 120a separate Anwendung, beispielsweise als Zusatzmodul (Plug-in) zur ersten BS-Instanz 120a, verkörpert ist. Bei anderen Ausführungsformen befindet sich mindestens ein Teil der Partitionsverlagerungsvorrichtung 205 im Hypervisor 110 und/oder wird dort ausgeführt und kann in den Hypervisor 110 integriert sein. Bei einer Ausführungsform ist die Partitionsverlagerungsvorrichtung 205 ein Plug-in zum Hypervisor 110.
  • In den 3A bis C ist eine beispielhafte Ausführungsform der Verlagerung von Ressourcenpartitionen abgebildet. Unter Bezugnahme auf 3A kann der Hypervisor 110 ein Verlagerungsereignis auslösen, um eine erste WPAR 125a von einer ersten LPAR 115a auf eine zweite LPAR 115b zu verlagern. Die Partitionsverlagerungsvorrichtung 205 erkennt das Verlagerungsereignis und ermittelt, ob beliebige andere WPAR 125b in ausreichender Weise zur ersten WPAR 125a gehören. Unter Bezugnahme auf 3B stellt die Partitionsverlagerungsvorrichtung 205 fest, dass die zweite WPAR 125b in ausreichender Weise zur ersten WPAR 125a gehört, und die Partitionsverlagerungsvorrichtung 205 stellt fest, dass die zweite WPAR 125b ebenfalls auf die zweite LPAR 115b verlagert werden sollte. Die Partitionsverlagerungsvorrichtung 205 verlagert dann die zweite WPAR 125b und/oder veranlasst deren Verlagerung (z. B. indem sie dem Hypervisor 110 signalisiert, die Verlagerung auszuführen). Zu beachten ist, dass bei einer Ausführungsform wie nachfolgend beschrieben eine WPAR 125a, die Gegenstand des Verlagerungsereignisses ist, zuerst verlagert werden kann und anschließend andere zugehörige WPAR 125b nacheinander verlagert werden können. Bei einer weiteren Ausführungsform kann die WPAR 125a, die Gegenstand des Verlagerungsereignisses ist, zusammen mit beliebigen zugehörigen WPAR 125b verlagert werden. In 3C ist die zweite WPAR 125b abgebildet, die auf die zweite LPAR 115b verlagert wurde, wo die zweite WPAR 125b und die erste WPAR 125a mit der Loopback-Schnittstelle Daten effizient austauschen können.
  • In den 4A bis C ist eine beispielhafte weitere Ausführungsform der Verlagerung von Ressourcenpartitionen abgebildet. Unter Bezugnahme auf 4A kann der Hypervisor 110 ein Verlagerungsereignis auslösen, um eine erste LPAR 115a von einem ersten Computersystem 105a auf ein zweites Computersystem 105b zu verlagern. Die Partitionsverlagerungsvorrichtung 205 erkennt das Verlagerungsereignis und ermittelt, ob beliebige andere LPAR 115b, c in ausreichender Weise zur ersten LPAR 115a gehören. Unter Bezugnahme auf 4B stellt die Partitionsverlagerungsvorrichtung 205 fest, dass die zweite LPAR 115b in ausreichender Weise zur ersten LPAR 115a gehört, und die Partitionsverlagerungsvorrichtung 205 stellt fest, dass die zweite LPAR 115b ebenfalls auf das zweite Computersystem 105b verlagert werden sollte. Die Partitionsverlagerungsvorrichtung 205 verlagert dann die zweite LPAR 115b und/oder veranlasst deren Verlagerung (z. B. indem sie dem Hypervisor 110 signalisiert, die Verlagerung auszuführen). Zu beachten ist, dass bei einer Ausführungsform wie oben beschrieben eine LPAR 115a, die der Gegenstand des Verlagerungsereignisses ist, zuerst verlagert werden kann und anschließend andere zugehörige LPAR 115b nacheinander verlagert werden können. Bei einer weiteren Ausführungsform kann die LPAR 115a, die Gegenstand des Verlagerungsereignisses ist, zusammen mit beliebigen zugehörigen LPAR 115b verlagert werden. In 4C ist die zweite LPAR 115b abgebildet, die auf das zweite Computersystem 105b verlagert wurde, wo die zweite LPAR 115b und die erste LPAR 115a über ein virtuelles Ethernet auf dem zweiten Computersystem 105b Daten effizient austauschen können.
  • 5 ist ein schematisches Blockschaltbild, das eine Ausführungsform einer Partitionsverlagerungsvorrichtung 205 veranschaulicht. Die Partitionsverlagerungsvorrichtung 205 kann eine Ausführungsform der Partitionsverlagerungsvorrichtung 205 aus den 3A bis C sein und weist ein oder mehrere Erkennungsmodule 505, ein Ermittlungsmodul 510 und ein Verlagerungsmodul 515 auf.
  • Das Erkennungsmodul 505 erkennt bei einer Ausführungsform ein Verlagerungsereignis zur Verlagerung einer Ressourcenpartition. Das Verlagerungsereignis wird bei einer Ausführungsform durch einen Hypervisor 110 ausgelöst, der die Ressourcenpartition verwaltet. Insbesondere kann das Erkennungsmodul 505 ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich erkennen. Der erste Bereich weist eine oder mehrere zweite Ressourcenpartitionen auf (Ressourcenpartitionen, die nicht das Ziel des Verlagerungsereignisses sind).
  • Die erste Ressourcenpartition und die zweite Ressourcenpartition sind bei einer Ausführungsform jeweils eigene Betriebsumgebungen. Bei einer Ausführungsform sind die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eine WPAR 125a, b, und der erste Bereich und der zweite Bereich sind jeweils eine LPAR 115a, b. Bei einer weiteren Ausführungsform sind die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eine LPAR 115a, b, und der erste Bereich und der zweite Bereich sind jeweils ein eigenes Computersystem 105a, b. Bei anderen Ausführungsformen sind die erste und zweite Ressourcenpartition virtuelle Maschinen, virtuelle Gäste oder andere geeignete virtuelle Datenverarbeitungsumgebungen.
  • Das Ermittlungsmodul 510 ermittelt bei einer Ausführungsform, ob eine beliebige der zweiten Ressourcenpartitionen (z. B. die zweite LPAR 115b oder die zweite WPAR 125b) in ausreichender Weise zur ersten Ressourcenpartition (z. B. die erste LPAR 115a oder die erste WPAR 125a) gehören. Bei einer Ausführungsform beruht die Zugehörigkeit auf einem Umfang des Datenaustauschverkehrs zwischen der ersten Ressourcenpartition und einer oder mehreren der zweiten Ressourcenpartitionen. Bei einer weiteren Ausführungsform weist das Ermittlungsmodul 510, das feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, das Ermittlungsmodul 510 auf, das feststellt, dass der Datenaustauschverkehr zwischen der ersten Ressourcenpartition und der zweiten Ressourcenpartition einem vorgegebenen Schwellenwert entspricht.
  • Bei einer Ausführungsform weist der Datenaustauschverkehr eine Bandbreitennutzung auf.
  • Das Ermittlungsmodul 510 kann wiederholt zweite Ressourcenpartitionen durchlaufen und feststellen, ob jede ausgewählte zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Deshalb stellt bei einer Ausführungsform das Ermittlungsmodul 510 fest, dass eine zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, und kann anschließend ebenfalls feststellen, dass eine dritte Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört.
  • Bei einer Ausführungsform ermittelt das Ermittlungsmodul 510, ob jede der zweiten Ressourcenpartitionen in der Reihenfolge der Zugehörigkeit in ausreichender Weise zur ersten Ressourcenpartition gehört. Wie nachfolgend beschrieben können die zweiten Ressourcenpartitionen in der Reihenfolge der Zugehörigkeit sortiert werden. Das Ermittlungsmodul 510 kann ermitteln, ob die zweiten Ressourcenpartitionen in dieser sortierten Reihenfolge in ausreichender Weise zugehörig sind. Da Speicherplatz und/oder andere Ressourcen im zweiten Bereich ein Problem sein können, kann daher das Ermittlungsmodul 510 zuerst die Zugehörigkeit der am meisten zugehörigen Ressourcenpartitionen ermitteln, um das Verlagern der am meisten zugehörigen Ressourcenpartitionen in den verfügbaren Speicherplatz im zweiten Bereich zu erleichtern.
  • Bei einer Ausführungsform können Ressourcenpartitionen als zugehörig bezeichnet werden. Beispielsweise kann ein Benutzer die zweite Ressourcenpartition als zur ersten Ressourcenpartition zugehörig bezeichnen. Infolgedessen würde das Ermittlungsmodul 510, wenn die erste Ressourcenpartition das Ziel des Verlagerungsereignisses ist, feststellen, dass die zweite Ressourcenpartition wegen der vorgegebenen Beziehung in ausreichender Weise zur ersten Ressourcenpartition gehört.
  • Das Verlagerungsmodul 515 verlagert bei einer Ausführungsform als Reaktion darauf, dass das Ermittlungsmodul 510 ermittelt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, eine zweite Ressourcenpartition (z. B. die zweite LPAR 115b oder die zweite WPAR 125b) mit der ersten Ressourcenpartition in den zweiten Bereich (z. B. in die zweite LPAR 115b oder auf das zweite Computersystem 105b). Das Verlagerungsmodul 515 kann die zweite Ressourcenpartition direkt oder indirekt verlagern. Bei einer Ausführungsform verlagert das Verlagerungsmodul 515 eine zweite Ressourcenpartition, indem es dem Hypervisor 110 signalisiert, die Verlagerung auszulösen. Bei einer weiteren Ausführungsform führt das Verlagerungsmodul 515 die Verlagerung durch.
  • Des Weiteren schließt bei einer Ausführungsform das Verlagern der zweiten Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich ein, dass die zweite Ressourcenpartition (und alle anderen zweiten Ressourcenpartitionen, die als in ausreichender Weise zugehörig ermittelt wurden) zusammen mit und/oder im Wesentlichen zur selben Zeit wie die erste Ressourcenpartition verlagert wird. Des Weiteren schließt bei einer Ausführungsform das Verlagern der zweiten Ressourcenpartition in den zweiten Bereich mit der ersten Ressourcenpartition ein, dass die zweite Ressourcenpartition (und alle anderen zweiten Ressourcenpartitionen, die als in ausreichender Weise zugehörig ermittelt wurden), die bei der ersten Ressourcenpartition bleiben soll (z. B. im zweiten Bereich), nicht notwendigerweise im Wesentlichen zur selben Zeit oder zusammen mit der ersten Ressourcenpartition verlagert wird.
  • Bei einer Ausführungsform verlagert das Verlagerungsmodul 515 beliebige zweite Ressourcenpartitionen, bei denen das Ermittlungsmodul 510 feststellt, dass sie in ausreichender Weise zur ersten Ressourcenpartition gehören, und das Ermittlungsmodul 510 führt keine weiteren Ermittlungen im Zusammenhang mit der ersten Ressourcenpartition durch. Bei bestimmten Ausführungsformen verlagert das Verlagerungsmodul 515 eine einzelne zweite Ressourcenpartition, von der das Ermittlungsmodul 510 festgestellt hat, dass sie in ausreichender Weise zur ersten Ressourcenpartition gehört. Dann kann das Ermittlungsmodul 510 erneut die Zugehörigkeit zwischen den verbleibenden zweiten Ressourcenpartitionen und der ersten Ressourcenpartition bewerten (da sich zugewiesene Zugehörigkeitseinstufungen mit der Verlagerung ändern können), wie nachfolgend beschrieben wird.
  • Bei einer Ausführungsform verlagert das Verlagerungsmodul 515 die zweite Ressourcenpartition, wenn sie in ausreichender Weise zugehörig ist und wenn im zweiten Bereich ausreichende Ressourcen vorhanden sind. Daher kann das Verlagerungsmodul 515 als Reaktion auf sowohl die Feststellung, dass der zweite Bereich ausreichende Ressourcen aufweist, als auch darauf, dass das Ermittlungsmodul 510 feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich verlagern.
  • Wie oben beschrieben weist der erste Bereich bei einer Ausführungsform zwei oder mehrere zweite Ressourcenpartitionen auf (Ressourcenpartitionen, die bei dem Verlagerungsereignis nicht das Ziel bilden), und das Verlagerungsmodul 515 verlagert Ressourcenpartitionen der zwei oder mehreren zweiten Ressourcenpartitionen, die in ausreichender Weise zur ersten Ressourcenpartition gehören. Daher kann das Verlagerungsmodul 515 mehrere zweite Ressourcenpartitionen verlagern.
  • Wie oben beschrieben kann das Verlagerungsmodul 515 die Verlagerung von Ressourcenpartitionen fortsetzen, die in ausreichender Weise zugehörig sind, wenn der zweite Bereich ausreichende Ressourcen wie zum Beispiel Speicherplatz aufweist. Unter Fortsetzung des oben aufgeführten Beispiels kann das Verlagerungsmodul 515 die dritte Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich verlagern, wenn das Verlagerungsmodul 515 die zweite Ressourcenpartition verlagert hat und das Ermittlungsmodul 510 festgestellt hat, dass eine dritte Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Bei einer Ausführungsform setzt das Verlagerungsmodul 515 das Verlagern von Ressourcenpartitionen fort, die in ausreichender Weise zugehörig sind, solange im zweiten Bereich Ressourcen zur Verfügung stehen. Daher verlagert das Verlagerungsmodul 515 bei einer Ausführungsform die dritte Ressourcenpartition als Reaktion sowohl darauf, dass das Ermittlungsmodul 510 feststellt, dass die dritte Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, als auch auf die Feststellung, dass der zweite Bereich ausreichende Ressourcen zur Verlagerung der dritten Ressourcenpartition aufweist.
  • 6 ist ein detailliertes schematisches Blockschaltbild, das eine weitere Ausführungsform einer Partitionsverlagerungsvorrichtung 205 veranschaulicht. Bei der abgebildeten Ausführungsform weist die Partitionsverlagerungsvorrichtung 205 das Erkennungsmodul 505, das Ermittlungsmodul 510 und das Verlagerungsmodul 515 auf, die im Wesentlichen den im Zusammenhang mit 5 beschriebenen Modulen ähneln. Bei der abgebildeten Ausführungsform weist die Partitionsverlagerungsvorrichtung 205 ferner eines oder mehrere eines Ressourcenermittlungsmoduls 605 und ein Sortiermodul 610 auf, und das Erkennungsmodul 510 weist eines oder mehrere eines Überwachungsmoduls 615, ein Zuweisungsmodul 620, ein Bandbreitennutzungsmodul 625, ein Einstufungswert-Ermittlungsmodul 630 und ein Differenzfaktormodul 635 auf, die nachfolgend beschrieben werden.
  • Das Ressourcenermittlungsmodul 605 ermittelt bei einer Ausführungsform, ob der zweite Bereich ausreichende Ressourcen zur Verlagerung von zweiten Ressourcenpartitionen aufweist. Bei einer Ausführungsform kann das Verlagerungsmodul 515 als Reaktion darauf, dass das Ressourcenermittlungsmodul 605 feststellt, dass der zweite Bereich ausreichende Ressourcen aufweist, und darauf, dass das Ermittlungsmodul 510 feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich verlagern.
  • Das Sortiermodul 610 sortiert bei einer Ausführungsform zwei oder mehrere zweite Ressourcenpartitionen in der Reihenfolge der Zugehörigkeit zwischen der ersten Ressourcenpartition und den zwei oder mehreren zweiten Ressourcenpartitionen. Bei einer Ausführungsform beruht die Zugehörigkeit auf einem Umfang des Datenaustauschverkehrs zwischen der ersten Ressourcenpartition und jeder der zwei oder mehreren zweiten Ressourcenpartitionen. Bei einer Ausführungsform sortiert das Sortiermodul 610 wie nachfolgend beschrieben die zweiten Ressourcenpartitionen in der Reihenfolge des zugewiesenen Einstufungswertes (auf der Grundlage des Datenaustauschverkehrs zwischen jeder zweiten Ressourcenpartition und der ersten Ressourcenpartition). Bei einer Ausführungsform ermittelt das Ermittlungsmodul 510, ob die zwei oder mehreren zweiten Ressourcenpartitionen in der Reihenfolge der Zugehörigkeit in ausreichender Weise zur ersten Ressourcenpartition gehören. Bei einer Ausführungsform speichert und sortiert das Sortiermodul 610 die zweiten Ressourcenpartitionen (z. B. die Kennungen für oder die Zeiger auf die zweiten Ressourcenpartitionen) in einer Datenstruktur wie beispielsweise in einer Matrix oder in einer Liste.
  • Das Überwachungsmodul 615 überwacht den Datenaustauschverkehr zwischen der ersten Ressourcenpartition und den zweiten Ressourcenpartitionen, die sich im selben Bereich wie die erste Ressourcenpartition befinden.
  • Beispielsweise kann das Überwachungsmodul 615 die Menge der zwischen der ersten Ressourcenpartition und den zweiten Ressourcenpartitionen übertragenen Daten überwachen (z. B. kann das Überwachungsmodul 615 die Menge von Daten registrieren, die in einer ersten WPAR 125a von einer zweiten WPAR 125b empfangen wurden, und kann die Menge von Daten registrieren, die von der ersten WPAR 125a an eine zweite WPAR 125b gesendet wurden).
  • Das Zuweisungsmodul 620 weist bei einer Ausführungsform jeder der zweiten Ressourcenpartitionen einen Einstufungswert zu. Bei einer Ausführungsform weist das Zuweisungsmodul 620 jeder zweiten Ressourcenpartition auf der Grundlage des Datenaustauschverkehrs mit jeder anderen Ressourcenpartition in einem gemeinsamen Bereich einen Einstufungswert zu. Beispielsweise kann das Zuweisungsmodul 620 einer ersten WPAR 125a auf der Grundlage ihres Datenaustauschs mit einer zweiten und einer dritten WPAR 125b, c im ersten Bereich 115a eine bestimmte Einstufung zuweisen.
  • Bei einer Ausführungsform verwaltet das Zuweisungsmodul 620 Einstufungswerte von Ressourcenpartitionen in einer Datenaustauschverkehr-Tabelle. Als Beispiel wird angenommen, dass der erste Bereich fünf Ressourcenpartitionen X, A, B, C und D in einem ersten Bereich (LPAR 115a, b in einem Computersystem 105a oder WPAR 125a, b in einer LPAR 115a) aufweist. Eine beispielhafte Ausführungsform der Datenaustauschverkehr-Tabelle kann wie folgt aussehen:
    X A B C D
    X - 8 10 0 0
    A 8 - 3 8 8
    B 10 1 - 1 2
    C 0 8 1 - 3
    D 0 8 2 3 -
  • Tabelle 1
  • Das Zuweisungsmodul 620 kann der Ressourcenpartition mit dem höchsten Datenaustauschaufkommen eine höchste Einstufung (10 im angegebenen Beispiel) und den anderen Ressourcenpartitionen relative Einstufungen zuweisen.
  • Das Bandbreitennutzungsmodul 625 berechnet bei einer Ausführungsform als Teil des Ermittelns, ob beliebige Ressourcenpartitionen in ausreichender Weise zu einer ersten Ressourcenpartition (einer Ressourcenpartition, die Gegenstand eines Verlagerungsereignisses ist) gehören, eine effektive Bandbreitennutzung (Effective Bandwidth Utilization, EBU) für jede zweite Ressourcenpartition (Ressourcenpartitionen in dem Bereich, die nicht Ziel eines Verlagerungsereignisses sind). Die EBU enthält bei einer Ausführungsform eine Summe von Einstufungswerten für eine bestimmte zweite Ressourcenpartition. Insbesondere unter der Annahme, dass die Matrix „parlist” neben der ersten Ressourcenpartition jede Ressourcenpartition enthält, kann die EBU anhand der folgenden Formel berechnet werden: EBU parlist[i] = ((Datenaustauschverkehr zwischen parlist[i] und parlist[i + 1]) + (Datenaustauschverkehr zwischen parlist[i] und parlist[i + 2])).
  • Bei einer Ausführungsform berechnet das Bandbreitennutzungsmodul 625 die EBU für zweite Ressourcenpartitionen in sortierter Reihenfolge (wobei bei der Ressourcenpartition mit der höchsten Einstufung begonnen wird). Unter Fortsetzung des oben aufgeführten Beispiels kann das Bandbreitennutzungsmodul 625 die EBU für die Ressourcenpartitionen A bis D wie folgt berechnen: EBU von B = 4(1 + 1 + 2), EBU von A = 19(3 + 8 + 8), EBU von C = 12(8 + 1 + 3) und EBU von D = 13(8 + 2 + 3).
  • Das Einstufungswert-Ermittlungsmodul 630 ermittelt bei einer Ausführungsform, ob Einstufungswerte für jede zweite Ressourcenpartition größer als die EBU für diese Ressourcenpartitionen sind. Insbesondere ermittelt das Einstufungswert-Ermittlungsmodul 630, ob ein Einstufungswert für Datenaustauschverkehr zwischen einer bestimmten zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die EBU für die betreffende zweite Ressourcenpartition ist. Unter Fortsetzung des oben aufgeführten Beispiels würde das Einstufungswert-Ermittlungsmodul 630 bei der Ressourcenpartition B feststellen, dass der Einstufungswert 10 für den Datenaustausch zwischen X und B größer als die EBU von B ist, die 4 beträgt. Das Einstufungswert-Ermittlungsmodul 630 kann die Matrix von Ressourcenpartitionen wiederholt in sortierter Reihenfolge durchlaufen und zu jeder Ressourcenpartition eine Ermittlung vornehmen.
  • Bei Ressourcenpartitionen, deren Einstufungswerte größer als ihre EBU sind, berechnet das Differenzfaktormodul 635 bei einer Ausführungsform als Reaktion darauf, dass das Einstufungswert-Ermittlungsmodul 630 feststellt, dass der Einstufungswert für den Datenaustauschverkehr zwischen der betreffenden zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die EBU ist, einen Differenzfaktor für eine bestimmte zweite Ressourcenpartition. Bei einer Ausführungsform ist der Differenzfaktor ein angenommener Umfang eines verringerten Datenaustauschverkehrs, wenn eine bestimmte zweite Ressourcenpartition mit der ersten Ressourcenpartition verlagert wird.
  • Unter Fortsetzung des oben aufgeführten Beispiels würde das Differenzfaktormodul 635 zunächst feststellen, dass, wenn B nicht mit X verlagert wird, der effektive Datenaustauschverkehr zwischen X und den zweiten Ressourcenpartitionen 18 beträgt, wobei es sich hierbei um die Summe von Einstufungswerten der zweiten Ressourcenpartitionen (10 + 8 + 0 + 0) handelt. Das Differenzfaktormodul 635 kann als Nächstes den effektiven Netzwerkverkehr ermitteln, wenn B zusammen mit X verlagert wird, indem es die Einstufungswerte der anderen Ressourcenpartitionen (A, C und D) zu der EBU von B addiert, d. h. 8 + 4 = 12. Das Differenzfaktormodul 635 kann anschließend den Differenzfaktor berechnen, indem es die Differenz zwischen dem effektiven Datenaustauschverkehr bei Nichtverlagerung von B und dem effektiven Datenaustauschverkehr bei Verlagerung durch den effektiven Datenaustauschverkehr bei Nichtverlagerung von B dividiert, d. h. 6/18 = 33%.
  • Bei einer Ausführungsform empfängt das Differenzfaktormodul 635 einen vorgegebenen Differenzfaktor zum Vergleich mit dem gemäß der obigen Beschreibung berechneten Differenzfaktor und/oder nimmt auf den vorgegebenen Differenzfaktor Bezug. Der vorgegebene Differenzfaktor kann vom Benutzer vorgegeben sein. Bei einer Ausführungsform ermittelt das Differenzfaktormodul 635, ob der berechnete Differenzfaktor größer als der vorgegebene Differenzfaktor ist. Bei einer Ausführungsform stellt das Ermittlungsmodul 510 als Reaktion darauf, dass das Differenzfaktormodul 635 feststellt, dass der Differenzfaktor größer als der vorgegebene Differenzfaktor ist, fest, dass eine bestimmte zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört.
  • Beispielsweise kann das Differenzfaktormodul 635 dem Ermittlungsmodul 510 signalisieren, dass der Differenzfaktor für eine bestimmte zweite Ressourcenpartition größer als der vorgegebene Differenzfaktor ist, und das Ermittlungsmodul 510 kann als Reaktion auf das Empfangen des Signals feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Partition gehört. Unter Fortsetzung des Beispiels ist unter der Annahme, dass der vorgegebene Differenzfaktor 30% beträgt, der Differenzfaktor von B mit 33% größer als 30%. Infolgedessen kann das Verlagerungsmodul 515 auch B verlagern.
  • 7 ist ein schematischer Ablaufplan, der eine Ausführungsform eines Verfahrens 700 zum Verlagern von Ressourcenpartitionen veranschaulicht. Das Verfahren 700 beginnt, und das Erkennungsmodul 505 erkennt 705 ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich. Der erste Bereich weist eine zweite Ressourcenpartition auf. Die erste Ressourcenpartition und die zweite Ressourcenpartition sind jeweils eigene Betriebsumgebungen. Das Ermittlungsmodul 510 stellt fest 710, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört. Das Verlagerungsmodul 510 verlagert 715 die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich, und das Verfahren 700 endet.
  • 8 ist ein schematischer Ablaufplan, der eine weitere Ausführungsform eines Verfahrens 800 zum Verlagern von Ressourcenpartitionen veranschaulicht. Das Verfahren 800 beginnt, und das Überwachungsmodul 615 überwacht 805 den Datenaustauschverkehr zwischen einer ersten Ressourcenpartition und zwei oder mehreren zweiten Ressourcenpartitionen, die in einem ersten Bereich betrieben werden. Das Zuweisungsmodul 620 weist für jede der zwei oder mehreren zweiten Ressourcenpartitionen Einstufungswerte zu und verwaltet 810 diese. Das Zuweisungsmodul 620 kann jeder zweiten Ressourcenpartition auf der Grundlage von Datenaustauschverkehr mit jeder anderen Ressourcenpartition einen Einstufungswert zuweisen. Wenn das Erkennungsmodul 505 kein Verlagerungsereignis zur Verlagerung der ersten Ressourcenpartition aus dem ersten Bereich in einem zweiten Bereich erkennt 815, überwacht 805 das Überwachungsmodul 615 weiterhin den Datenaustauschverkehr.
  • Alternativ sortiert 820 das Sortiermodul 610 die zwei oder mehreren zweiten Ressourcenpartitionen in der Reihenfolge des Datenaustauschverkehrs zwischen der ersten Ressourcenpartition und den zwei oder mehreren Ressourcenpartitionen ein (z. B. werden zweite Ressourcenpartitionen mit höheren Einstufungswerten in der Reihenfolge vor zweiten Ressourcenpartitionen mit niedrigeren Einstufungswert einsortiert), wenn das Erkennungsmodul 505 ein Verlagerungsereignis erkennt 815. Das Bandbreitennutzungsmodul 625 wählt 825 dann eine bestimmte zweite Ressourcenpartition aus (z. B. die nächste zweite Ressourcenpartition in der Reihenfolge) und berechnet 830 eine effektive Bandbreitennutzung für die ausgewählte zweite Ressourcenpartition. Bei einer Ausführungsform ist die effektive Bandbreitennutzung eine Summe von Einstufungswerten für die zweite Ressourcenpartition. Wenn das Bandbreitennutzungsmodul 625 feststellt 835, dass eine weitere Ressourcenpartition (z. B. die nächste Ressourcenpartition in der Reihenfolge) vorhanden ist, wählt 825 das Bandbreitenmodul 625 die nächste Ressourcenpartition aus.
  • Alternativ wählt 840 das Einstufungswert-Ermittlungsmodul 630 eine bestimmte Ressourcenpartition aus (z. B. die erste Ressourcenpartition in der Reihenfolge der Einstufungen), und das Einstufungswert-Ermittlungsmodul 630 ermittelt 845, ob ein Einstufungswert für Datenaustauschverkehr zwischen der ausgewählten zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die effektive Bandbreitennutzung (EBU) für die ausgewählte zweite Ressourcenpartition ist, wenn das Bandbreitennutzungsmodul 625 feststellt 835, dass keine weiteren zweiten Ressourcenpartitionen vorhanden sind. Wenn das Einstufungswert-Ermittlungsmodul 630 feststellt 845, dass der Einstufungswert zwischen der ausgewählten zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die effektive Bandbreitennutzung ist, berechnet das Differenzfaktormodul 635 für die ausgewählte zweite Ressourcenpartition einen Differenzfaktor 850. Bei einer Ausführungsform weist der Differenzfaktor einen angenommenen Umfang eines verringerten Datenaustauschverkehrs auf, wenn die ausgewählte zweite Ressourcenpartition mit der ersten Ressourcenpartition verlagert wird.
  • Als Nächstes verlagert 860 (kennzeichnet zur Verlagerung) das Verlagerungsmodul 515 die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich, wenn das Ermittlungsmodul 510 feststellt 855, dass der Differenzfaktor größer als ein vorgegebener Differenzfaktor ist. Das Einstufungswert-Ermittlungsmodul 630 ermittelt 865 dann, ob weitere zweite Ressourcenpartitionen vorhanden sind. Wenn das Einstufungswert-Ermittlungsmodul 630 feststellt 865, dass eine weitere zweite Ressourcenpartition vorhanden ist, wählt 840 das Einstufungswert-Ermittlungsmodul 630 eine betreffende Ressourcenpartition aus (z. B. die nächste Ressourcenpartition in der Reihenfolge der Einstufungen). Alternativ endet das Verfahren 800, wenn das Einstufungswert-Ermittlungsmodul 630 feststellt 865, dass keine weiteren zweiten Ressourcenpartitionen vorhanden sind.
  • Unter Rückkehr zur Entscheidung in Schritt 845 ermittelt 865 das Einstufungswert-Ermittlungsmodul 630, ob weitere zweite Ressourcenpartitionen vorhanden sind (z. B. geht das Einstufungswert-Ermittlungsmodul 630 weiter, um die nächste zweite Ressourcenpartition auszuwerten), wenn das Einstufungswert-Ermittlungsmodul 630 feststellt 845, dass der Einstufungswert zwischen der ausgewählten zweiten Ressourcenpartition und der ersten Ressourcenpartition kleiner als die effektive Bandbreitennutzung ist. Unter Rückkehr zur Entscheidung in Schritt 855 ermittelt 865 das Einstufungswert-Ermittlungsmodul 630, ob weitere zweite Ressourcenpartitionen vorhanden sind (z. B. geht das Einstufungswert-Ermittlungsmodul 630 weiter, um die nächste zweite Ressourcenpartition auszuwerten), wenn das Ermittlungsmodul 510 feststellt 855, dass der Differenzfaktor kleiner als der vorgegebene Differenzfaktor ist.
  • 9A ist ein schematischer Ablaufplan, der eine Ausführungsform eines Verfahrens 900 zum Bereitstellen einer Partitionsverlagerungsvorrichtung 205 veranschaulicht. Obwohl es sich versteht, dass die Verfahrenssoftware, die die Partitionsverlagerungsvorrichtung 205 verkörpert, durch direktes Laden von einem Speichermedium wie beispielsweise einer CD DVD usw. in Client-, Server- oder Proxy-Computern bereitgestellt werden kann, kann die Verfahrenssoftware auch automatisch oder halbautomatisch in einem Computersystem bereitgestellt werden, indem die Prozesssoftware an einen zentralen Server oder an eine Gruppe zentraler Server gesendet wird. Die Prozesssoftware wird dann in die Client-Computer heruntergeladen, die die Prozesssoftware ausführen. Alternativ wird die Prozesssoftware per eMail direkt an das Client-System gesendet. Die Prozesssoftware wird dann entweder in ein Verzeichnis herausgelöst oder mithilfe einer Schaltfläche in der eMail in ein Verzeichnis geladen, in dem ein Programm ausgeführt wird, das die Prozesssoftware in ein Verzeichnis herauslöst. Eine weitere Alternative besteht darin, die Prozesssoftware direkt in ein Verzeichnis auf der Festplatte des Client-Computers zu senden. Bei Vorhandensein von Proxy-Servern wählt der Prozess den Code des Proxy-Servers, ermittelt, auf welchen Computern der Code der Proxy-Server abgelegt werden soll, überträgt den Code des Proxy-Servers und installiert danach den Code des Proxy-Servers auf dem Proxy-Computer. Die Prozesssoftware kann zum Proxy-Server übertragen und danach auf dem Proxy-Server gespeichert werden.
  • Das Verfahren 900 zur Bereitstellung der Prozesssoftware beginnt, und es wird eine Ermittlung 902 durchgeführt, ob beliebige Programme vorhanden sind, die sich auf einem Server oder auf Servern befinden, wenn die Prozesssoftware ausgeführt wird. Wenn dies der Fall ist, werden die Server, die die ausführbaren Elemente enthalten, unter Bezugnahme auf 9B erkannt 936. Die Prozesssoftware für den oder die Server wird über FTP oder ein anderes Protokoll oder durch Kopieren unter Verwendung eines Systems zur gemeinsamen Dateinutzung direkt in den Speicher der Server übertragen 938. Die Prozesssoftware wird dann auf den Servern installiert 940.
  • Als Nächstes wird unter erneuter Bezugnahme auf 9A eine Ermittlung 904 dahingehend durchgeführt, ob die Prozesssoftware dadurch bereitzustellen ist, dass Benutzer Zugriff auf die Prozesssoftware auf einem Server oder auf den Servern haben. Wenn die Benutzer auf die auf Servern befindliche Prozesssoftware zugreifen müssen, werden die Serveradressen erkannt 906, auf denen die Prozesssoftware gespeichert wird. Es wird eine Ermittlung 908 durchgeführt, ob ein Proxy-Server einzurichten ist, auf dem die Prozesssoftware gespeichert werden soll. Ein Proxy-Server ist ein Server, der sich zwischen einer Client-Anwendung wie zum Beispiel ein Web-Browser und einem realen Server befindet. Er fängt alle an den realen Server gerichteten Anforderungen ab, um festzustellen, ob er selbst die Anforderungen erfüllen kann. Wenn nicht, leitet er die Anforderung an den realen Server weiter.
  • Die beiden Hauptvorteile eines Proxy-Servers bestehen in einer Leistungsverbesserung und in der Filterung von Anforderungen. Wenn ein Proxy-Server benötigt wird, wird der Proxy-Server installiert 910. Die Prozesssoftware wird entweder über ein Protokoll wie zum Beispiel FTP an die Server gesendet 912, oder sie wird über die gemeinsame Dateinutzung direkt von den Quelldateien auf die Serverdateien kopiert. Eine weitere Ausführungsform würde darin bestehen, eine Transaktion an die Server zu senden, die die Prozesssoftware enthielten, die Server die Transaktion verarbeiten zu lassen und dann die Prozesssoftware zu empfangen und auf das Dateisystem der Server zu kopieren. Sobald die Prozesssoftware auf den Servern gespeichert ist, greifen 914 die Benutzer über ihre Client-Computer auf die Prozesssoftware auf den Servern zu und kopieren sie auf die Dateisysteme ihrer Client-Computer. Eine weitere Ausführungsform besteht darin, die Server automatisch die Prozesssoftware auf jeden Client kopieren zu lassen und dann auf jedem Client-Computer das Installationsprogramm für die Prozesssoftware auszuführen. Der Benutzer führt das Programm aus, das die Prozesssoftware auf seinem Client-Computer installiert 916, und danach endet das Verfahren 900.
  • In Schritt 918 wird eine Ermittlung durchgeführt, ob die Prozesssoftware bereitgestellt werden soll, indem die Prozesssoftware per eMail an Benutzer gesendet wird. Die Gruppe von Benutzern, bei der die Prozesssoftware bereitgestellt wird, wird zusammen mit den Adressen der Client-Computer der Benutzer erkannt 920. Die Prozesssoftware wird per eMail an jeden Client-Computer der Benutzer gesendet. Die Benutzer empfangen dann die eMail 924 und lösen 926 anschließend die Prozesssoftware aus der eMail in ein Verzeichnis auf ihren Client-Computern heraus. Der Benutzer führt das Programm aus, das die Prozesssoftware auf seinem Client-Computer installiert 916, und danach endet das Verfahren 900.
  • Schließlich wird eine Ermittlung 928 dahingehend durchgeführt, ob die Prozesssoftware direkt an Verzeichnisse der Benutzer auf ihren Client-Computern gesendet wird. Wenn ja, werden die Verzeichnisse der Benutzer erkannt 930. Die Prozesssoftware wird direkt auf das Verzeichnis auf dem Client Computer des Benutzers übertragen 932. Dies kann auf mehreren Wegen geschehen, beispielsweise und ohne darauf beschränkt zu sein, durch gemeinsame Nutzung von Dateisystemverzeichnissen und anschließendes Kopieren vom Dateisystem des Absenders auf das Dateisystem des Empfängers oder alternativ durch Nutzung eines Übertragungsprotokolls wie zum Beispiel File Transfer Protocol (FTP). Zur Vorbereitung auf das Installieren der Prozesssoftware greifen 934 die Benutzer auf die Dateisysteme ihrer Clients zu. Der Benutzer führt das Programm aus, das die Prozesssoftware auf seinem Client-Computer installiert 916 und danach endet das Verfahren 900.
  • Die Ausführungsformen können in anderen speziellen Formen in die Praxis umgesetzt werden. Die beschriebenen Ausführungsformen sind in dieser Hinsicht lediglich als beschreibend und nicht als einschränkend zu verstehen. Der Schutzbereich der Erfindung wird daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die sich aus der Bedeutung und dem Umfang der Gleichwertigkeit der Ansprüche ergeben, sind als in ihren Schutzbereich fallend anzusehen.
  • Es soll hier noch ein weiteres Verfahren erwähnt werden. Gemäß diesem Verfahren kann das Zur-Verfügung-stellen einer Partitionsverlagerungsvorrichtung auf einem Datenverarbeitungssystem bereitgestellt werden. Dadurch kann die Partitionsverlagerungsvorrichtung in der Lage sein zum: Erkennen eines Verlagerungsereignisses zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich, wobei der erste Bereich eine zweite Ressourcenpartition aufweist und die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eigene Betriebsumgebungen aufweisen; Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehören kann; und Verlagern der zweiten Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich als Reaktion auf das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört.

Claims (15)

  1. Verfahren, aufweisend: Erkennen eines Verlagerungsereignisses zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich, wobei der erste Bereich eine zweite Ressourcenpartition aufweist und die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eigene Betriebsumgebungen aufweisen; Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört; und Verlagern der zweiten Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich als Reaktion auf das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört.
  2. Verfahren nach Anspruch 1, bei dem die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eine Workloadpartition („WPAR”) aufweist, und bei dem der erste Bereich und der zweite Bereich jeweils eine logische Partition („LPAR”) aufweist.
  3. Verfahren nach Anspruch 1, bei dem die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eine logische Partition („LPAR”) aufweist, und bei dem der erste Bereich und der zweite Bereich jeweils ein Computersystem aufweist.
  4. Verfahren nach Anspruch 1, bei dem das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, ferner ein Feststellen aufweist, dass ein Datenaustauschverkehr zwischen der ersten Ressourcenpartition und der zweiten Ressourcenpartition einem vorgegebenen Schwellenwert entspricht.
  5. Verfahren nach Anspruch 1, das ferner ein Feststellen aufweist, dass der zweite Bereich ausreichende Ressourcen zur Verlagerung der zweiten Ressourcenpartition aufweist, wobei das Verlagern der zweiten Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich als Reaktion auf ein Feststellen stattfindet, dass der zweite Bereich ausreichende Ressourcen aufweist, und auf ein Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört.
  6. Verfahren nach Anspruch 5, ferner aufweisend: Feststellen, dass eine dritte Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört; Feststellen, dass der zweite Bereich ausreichende Ressourcen zur Verlagerung der dritten Ressourcenpartition aufweist; und Verlagern der dritten Ressourcenpartition mit der ersten Ressourcenpartition und der zweiten Ressourcenpartition in den zweiten Bereich als Reaktion auf das Feststellen, dass die dritte Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört und dass der zweite Bereich ausreichende Ressourcen zur Verlagerung der dritten Ressourcenpartition aufweist.
  7. Verfahren nach Anspruch 1, bei dem der erste Bereich zwei oder mehrere zweite Ressourcenpartitionen aufweist und das Verfahren ferner ein Sortieren der zwei oder mehreren zweiten Ressourcenpartitionen in der Reihenfolge eines Ausmaßes der Zugehörigkeit zwischen der ersten Ressourcenpartition und den zwei oder mehreren zweiten Ressourcenpartitionen aufweist, und/oder bei dem das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, ferner aufweist: Überwachen des Datenaustauschverkehrs zwischen der ersten Ressourcenpartition und den zwei oder mehreren zweiten Ressourcenpartitionen im ersten Bereich; und Zuweisen einer Vielzahl von Einstufungswerten zu jeder der zwei oder mehreren zweiten Ressourcenpartitionen, wobei jeder zweiten Ressourcenpartition auf der Grundlage des Datenaustauschverkehrs mit jeder anderen Ressourcenpartition ein Einstufungswert zugewiesen wird, und/oder bei dem das Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, ferner aufweist: Berechnen einer effektiven Bandbreitennutzung für jede zweite Ressourcenpartition, wobei die effektive Bandbreitennutzung eine Summe von Einstufungswerten für jede zweite Ressourcenpartition aufweist; Feststellen, dass ein Einstufungswert für Datenaustauschverkehr zwischen einer bestimmten zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die effektive Bandbreitennutzung für die betreffende zweite Ressourcenpartition ist; und Berechnen eines Differenzfaktors für die betreffende zweite Ressourcenpartition als Reaktion auf ein Feststellen, dass der Einstufungswert für Datenaustauschverkehr zwischen der betreffenden zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die effektive Bandbreitennutzung für die betreffende zweite Ressourcenpartition ist, wobei der Differenzfaktor einen angenommenen Umfang eines verringerten Datenaustauschverkehrs aufweist, wenn die betreffende zweite Ressourcenpartition mit der ersten Ressourcenpartition verlagert wird; und Feststellen, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, als Reaktion auf das Feststellen, dass der Differenzfaktor größer als ein vorgegebener Differenzfaktor ist.
  8. Verfahren nach Anspruch 7, das ferner ein Feststellen umfasst, ob die zwei oder mehreren zweiten Ressourcenpartitionen in ausreichender Weise zur ersten Ressourcenpartition in der Reihenfolge der Zugehörigkeit zwischen der ersten Ressourcenpartition und jeder der zwei oder mehreren zweiten Ressourcenpartitionen gehört.
  9. Verfahren nach Anspruch 8, das ferner ein Verlagern von Ressourcenpartitionen der zwei oder mehreren zweiten Ressourcenpartitionen aufweist, die in ausreichender Weise zur ersten Ressourcenpartition gehören.
  10. Verfahren nach Anspruch 9, bei dem die Zugehörigkeit auf einem Umfang des Datenaustauschverkehrs zwischen der ersten Ressourcenpartition und jeder der zwei oder mehreren zweiten Ressourcenpartitionen beruht.
  11. Vorrichtung, aufweisend: ein Erkennungsmodul, das ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich erkennt, wobei der erste Bereich eine zweite Ressourcenpartition aufweist und die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eigene Betriebsumgebungen aufweisen; ein Ermittlungsmodul, das feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört; und ein Verlagerungsmodul, das als Reaktion darauf, dass das Ermittlungsmodul feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich verlagert.
  12. Vorrichtung nach Anspruch 11, die ferner ein Ressourcenermittlungsmodul aufweist, das feststellt, dass der zweite Bereich ausreichende Ressourcen zur Verlagerung der zweiten Ressourcenpartition aufweist, wobei das Verlagerungsmodul die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich als Reaktion darauf verlagert, dass das Ressourcenermittlungsmodul feststellt, dass der zweite Bereich ausreichende Ressourcen aufweist, und darauf, dass das Ermittlungsmodul feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, und/oder bei dem der erste Bereich zwei oder mehrere zweite Ressourcenpartitionen aufweist und die Vorrichtung ferner ein Sortiermodul aufweist, das die zwei oder mehreren zweiten Ressourcenpartitionen in der Reihenfolge der Zugehörigkeit zwischen der ersten Ressourcenpartition und den zwei oder mehreren zweiten Ressourcenpartitionen sortiert, und/oder wobei das Ermittlungsmodul ferner aufweist: ein Überwachungsmodul, das den Datenaustauschverkehr zwischen der ersten Ressourcenpartition und den zwei oder mehreren zweiten Ressourcenpartitionen überwacht; ein Zuweisungsmodul, das jeder der zwei oder mehreren zweiten Ressourcenpartitionen eine Vielzahl von Einstufungswerten zuweist, wobei jeder zweiten Ressourcenpartition auf der Grundlage des Datenaustauschverkehrs mit jeder anderen Ressourcenpartition ein Einstufungswert zugewiesen wird, ein Bandbreitennutzungsmodul, das eine effektive Bandbreitennutzung für jede zweite Ressourcenpartition berechnet, wobei die effektive Bandbreitennutzung eine Summe von Einstufungswerten für jede zweite Ressourcenpartition aufweist; ein Einstufungswert-Ermittlungsmodul, das feststellt, dass ein Einstufungswert für Datenaustauschverkehr zwischen einer bestimmten zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die effektive Bandbreitennutzung für die betreffende zweite Ressourcenpartition ist; und ein Differenzfaktormodul, das einen Differenzfaktor für die betreffende zweite Ressourcenpartition als Reaktion darauf berechnet, dass das Ermittlungsmodul feststellt, dass der Einstufungswert für Datenaustauschverkehr zwischen der betreffenden zweiten Ressourcenpartition und der ersten Ressourcenpartition größer als die effektive Bandbreitennutzung für die betreffende zweite Ressourcenpartition ist, wobei der Differenzfaktor einen angenommenen Umfang eines verringerten Datenaustauschverkehrs aufweist, wenn die betreffende zweite Ressourcenpartition mit der ersten Ressourcenpartition verlagert wird, wobei das Ermittlungsmodul als Reaktion auf das Feststellen, dass der Differenzfaktor größer als ein vorgegebener Differenzfaktor ist, feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört.
  13. Vorrichtung nach Anspruch 12, bei der die Zugehörigkeit auf einem Umfang des Datenaustauschverkehrs zwischen der ersten Ressourcenpartition und jeder der zwei oder mehreren zweiten Ressourcenpartitionen beruht.
  14. System, aufweisend: einen Prozessor; einen mit dem Prozessor in Verbindung stehenden Arbeitsspeicher; einen Betriebssystemkern; eine Partitionsverlagerungsvorrichtung, die im Arbeitsspeicher gespeichert ist und durch den Prozessor ausgeführt wird, wobei die Partitionsverlagerungsvorrichtung mit dem Betriebssystemkern in Verbindung steht und die Partitionsverlagerungsvorrichtung aufweist: ein Erkennungsmodul, das ein Verlagerungsereignis zur Verlagerung einer in einem ersten Bereich betriebenen ersten Ressourcenpartition vom ersten Bereich in einen zweiten Bereich erkennt, wobei der erste Bereich eine zweite Ressourcenpartition aufweist und die erste Ressourcenpartition und die zweite Ressourcenpartition jeweils eigene Betriebsumgebungen aufweisen; ein Ermittlungsmodul, das feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört; und ein Verlagerungsmodul, das als Reaktion darauf, dass das Ermittlungsmodul feststellt, dass die zweite Ressourcenpartition in ausreichender Weise zur ersten Ressourcenpartition gehört, die zweite Ressourcenpartition mit der ersten Ressourcenpartition in den zweiten Bereich verlagert.
  15. System nach Anspruch 14, das ferner einen Hypervisor aufweist, der das Verlagerungsereignis zur Verlagerung der ersten Ressourcenpartition aus dem ersten Bereich in der zweiten Bereich auslöst.
DE102013100054.1A 2012-01-06 2013-01-04 Verlagern von zusammengehörigen Ressourcenpartitionen Active DE102013100054B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/345,381 US9195512B2 (en) 2012-01-06 2012-01-06 Relocating related resource partitions
US13/345,381 2012-01-06

Publications (2)

Publication Number Publication Date
DE102013100054A1 true DE102013100054A1 (de) 2013-07-11
DE102013100054B4 DE102013100054B4 (de) 2024-03-07

Family

ID=47602363

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013100054.1A Active DE102013100054B4 (de) 2012-01-06 2013-01-04 Verlagern von zusammengehörigen Ressourcenpartitionen

Country Status (4)

Country Link
US (2) US9195512B2 (de)
CN (1) CN103279387B (de)
DE (1) DE102013100054B4 (de)
GB (1) GB2499698B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218100B2 (en) * 2010-03-04 2015-12-22 International Business Machines Corporation Method and system for partitioning asset management plugins
JP5503678B2 (ja) * 2012-03-07 2014-05-28 株式会社Nttドコモ ホスト提供システム及びホスト提供方法
US20140281309A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Transforming a shared virtualized space to an enclosed space
CN105224886B (zh) * 2014-06-26 2018-12-07 中国移动通信集团甘肃有限公司 一种移动终端安全隔离方法、装置及移动终端
US9992304B2 (en) 2014-10-13 2018-06-05 At&T Intellectual Property I, L.P. Relocation of applications to optimize resource utilization
US12014198B2 (en) 2021-03-25 2024-06-18 International Business Machines Corporation Running smaller memory-address width program code in a larger memory-address width address space

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US20060123111A1 (en) * 2004-12-02 2006-06-08 Frank Dea Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems
US8042108B2 (en) 2006-03-18 2011-10-18 International Business Machines Corporation Virtual machine migration between servers
US20100030877A1 (en) 2007-02-23 2010-02-04 Mitsuru Yanagisawa Virtual server system and physical server selecting method
US8191063B2 (en) 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US8146091B2 (en) * 2008-05-01 2012-03-27 International Business Machines Corporation Expansion and contraction of logical partitions on virtualized hardware
US20100229175A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems
US8140812B2 (en) 2009-07-01 2012-03-20 International Business Machines Corporation Method and apparatus for two-phase storage-aware placement of virtual machines
US8352702B2 (en) * 2009-12-17 2013-01-08 International Business Machines Corporation Data processing system memory allocation
JP5614226B2 (ja) * 2010-10-15 2014-10-29 富士通株式会社 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
US20120102190A1 (en) 2010-10-26 2012-04-26 International Business Machines Corporation Inter-virtual machine communication
WO2013095622A1 (en) * 2011-12-23 2013-06-27 Empire Technology Develpment Llc Optimization of resource utilization in a collection of devices

Also Published As

Publication number Publication date
US20130179656A1 (en) 2013-07-11
GB201222232D0 (en) 2013-01-23
CN103279387B (zh) 2017-03-01
US20130179882A1 (en) 2013-07-11
US9213583B2 (en) 2015-12-15
DE102013100054B4 (de) 2024-03-07
GB2499698A (en) 2013-08-28
US9195512B2 (en) 2015-11-24
GB2499698B (en) 2014-04-02
CN103279387A (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
DE112012003988B4 (de) Schützen des Arbeitsspeichers eines virtuellen Gasts
DE202020005693U1 (de) Externe berechtigungsnachweisfreie Stufen für Datenbankintegrationen
DE112011100808B4 (de) System und Verfahren zum Unterstützen der Instanziierung und Migration virtueller Maschinen
DE112018003006T5 (de) Erkennung und entschärfung von angriffen von aussen bei der datenverarbeitung
DE102013100054B4 (de) Verlagern von zusammengehörigen Ressourcenpartitionen
DE202020005734U1 (de) Beschneiden von Indizes zur Verbesserung einer Verarbeitung von Datenbankabfragen
DE102013204186B4 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112013000656T5 (de) System und Verfahren zum Verringern der Speichernutzung durch optimales Platzieren von virtuellen Maschinen in einem virtualisierten Rechenzentrum
DE202021004036U1 (de) Data Clean Room
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE112020005323B4 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE102021130957A1 (de) Empfehlungen zur stabilität von software-aktualisierungen
DE202020005703U1 (de) Auf verteilten Metadaten basierendes Cluster-Computing
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112019000421T5 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE112020004647T5 (de) Automatisierte techniken zum erkennen der nutzung von softwareanwendungen in einer datenverarbeitungsumgebung mithilfe von konfigurationsobjekten
DE202021004340U1 (de) Beschränkte Sichten zum Steuern des Zugriffs auf Informationen in einem Datenbanksystem
DE202023101653U1 (de) Organisations- und cloudübergreifende automatisierte Datenpipelines
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
DE112011100825B4 (de) Zuweisen von Speicher zu chipintegrierten Kohärenz-Domänen
DE112019000303B4 (de) Datenspeichersystem, das die datenverlagerung auf grundlage von zeitlicher nähe von zugriffen durchführt
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE202021004328U1 (de) Mit Daten-Cloud verbundene Anwendungen
DE112018005283T5 (de) Deduplizierung für dateien in einem cloud-computing-speicher und in datenübertragungswerkzeugen

Legal Events

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

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R084 Declaration of willingness to licence
R016 Response to examination communication
R018 Grant decision by examination section/examining division