DE112014002799T5 - Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung - Google Patents
Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung Download PDFInfo
- Publication number
- DE112014002799T5 DE112014002799T5 DE112014002799.5T DE112014002799T DE112014002799T5 DE 112014002799 T5 DE112014002799 T5 DE 112014002799T5 DE 112014002799 T DE112014002799 T DE 112014002799T DE 112014002799 T5 DE112014002799 T5 DE 112014002799T5
- Authority
- DE
- Germany
- Prior art keywords
- vnic
- customer domain
- application
- customer
- domain
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung bezieht sich im Allgemeinen auf ein Verfahren, ein System und ein Computer-Programm-Produkt zum Verwalten einer Mehr-Mieter-Datenverarbeitungsumgebung (multi-tenant data processing environment). Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren, ein System und ein Computer-Programm-Produkt zum Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung.
- Hintergrund
- Bestimmte Datenverarbeitungssysteme sind konfiguriert, um verschiedene Workloads gleichzeitig zu verarbeiten. Beispielsweise verarbeiten separate virtuelle Datenverarbeitungssysteme – wie beispielsweise separate virtuelle Maschinen (VM) – die auf einem einzelnen Host-Datenverarbeitungssystem konfiguriert sind, oft unterschiedliche Workloads für unterschiedliche Kunden oder Anwendungen.
- In umfangreichen Datenverarbeitungsanlagen – wie etwa in einem Rechenzentrum – können Tausende von VMs zu einem gegebenen Zeitpunkt auf einem Host betrieben werden; dabei werden Hunderte, wenn nicht Tausende, solcher Hosts in dem Rechenzentrum gleichzeitig betrieben. Eine virtuelle Datenverarbeitungsumgebung – wie das beschriebene Rechenzentrum – wird häufig als „Cloud” bezeichnet, welche Rechenkapazitäten und Verarbeitungs-Services mehreren Kunden auf Anforderung zur Verfügung stellt.
- VMs werden auf einem Computerknoten installiert oder erzeugt, wenn es für Kunden-Workloads erforderlich ist, um Service-Level-Anforderungen zu erfüllen, bzw. aus vielen anderen Gründen. Darüber hinaus werden unterschiedliche Konfigurationen der VMs für unterschiedliche Zwecke benötigt. Wenn beispielsweise eine VM nur zur Bereitstellung einer allgemeinen Verarbeitungsplattform für einen Nutzer erzeugt wird, kann die VM nur mit dem Basisbetriebssystem und ohne Anwendungen erzeugt werden. Wenn in einem anderen Beispiel eine neue VM Anwendungs-Services liefern muss, kann die VM mit einem Betriebssystem und einem Application-Server darauf erzeugt werden.
- In ähnlicher Weise können verschiedene Konfigurationen für VMs als Template-Images (Templates) vorkonfiguriert sein. Wenn eine VM, die eine spezifizierte vorbestimmte Konfiguration aufweist, auf einem Computerknoten erzeugt werden muss, wird ein geeignetes Template aus einem Template-Speicher – wie einer Datenbank oder einem File-System – ausgewählt und auf dem Computerknoten installiert, um eine VM mit der gewünschten Konfiguration zu erzeugen.
- Übersicht über die Erfindung
- Das veranschaulichende Ausführungsbeispiel stellt ein Verfahren, ein System und ein Computer-Programm-Produkt für eine Bereitstellung einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung zur Verfügung. Ein Ausführungsbeispiel konfiguriert, durch einen Prozessor, eine virtuelle Maschine (VM) für einen Kunden in der Kunden-Domäne. Das Ausführungsbeispiel konfiguriert, durch den Prozessor, ein erstes virtuelles Netzwerk-Interface (VNIC) in der VM, wobei das erste VNIC es einer Anwendung auf der VM ermöglicht, auf eine zweite Anwendung in einer zweiten VM in der Kunden-Domäne zuzugreifen. Das Ausführungsbeispiel weist, durch den Prozessor, eine erste Netzwerkadresse dem ersten VNIC zu, wobei die erste Netzwerkadresse innerhalb eines ersten Adressbereiches liegt, der für die Kunden-Domäne ausgewählt ist. Das Ausführungsbeispiel konfiguriert, durch den Prozessor, ein zweites VNIC in der VM, wobei das zweite VNIC es einer dritten Anwendung außerhalb der Kunden-Domäne ermöglicht, auf die VM in der Kunden-Domäne zuzugreifen, wobei das zweite VNIC konfiguriert ist, eine Adressierungsspezifikation zu nutzen, die von einem Server der dritten Anwendung verwendet wird. Das Ausführungsbeispiel konfiguriert, durch den Prozessor, ein drittes VNIC in der VM, wobei das dritte VNIC es der ersten Anwendung ermöglicht, auf eine vierte Anwendung zuzugreifen, die außerhalb der Kunden-Domäne ausgeführt wird, und wobei das dritte VNIC konfiguriert ist, um eine Adressierungsspezifikation zu nutzen, die von einem Server für die vierte Anwendung verwendet wird, wodurch eine Datenkommunikation, die der Kunden-Domäne zugehörig ist, gegenüber Einflüssen von einer Datenkommunikation, die einer zweiten Kunden-Domäne zugehörig ist, abgesichert wird.
- Ein anderes Ausführungsbeispiel weist einen oder mehrere Computer-lesbare konkrete Speichervorrichtungen auf. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die in einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, um eine virtuelle Maschine (VM) für einen Kunden in der Kunden-Domäne zu konfigurieren. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, um ein erstes virtuelles Netzwerk-Interface (VNIC) in der VM zu konfigurieren, wobei das erste VNIC es einer Anwendung auf der VM ermöglicht, auf eine zweite Anwendung in einer zweiten VM in der Kunden-Domäne zuzugreifen. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, um eine erste Netzwerkadresse dem ersten VNIC zuzuweisen, wobei die erste Netzwerkadresse innerhalb eines ersten Adressbereiches liegt, der für die Kunden-Domäne ausgewählt ist. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, um ein zweites VNIC in der VM zu konfigurieren, wobei das zweite VNIC es einer dritten Anwendung außerhalb der Kunden-Domäne ermöglicht, auf die VM in der Kunden-Domäne zuzugreifen, wobei das zweite VNIC konfiguriert ist, eine Adressierungsspezifikation zu nutzen, die von einem Server der dritten Anwendung verwendet wird. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, um ein drittes VNIC in der VM zu konfigurieren, wobei das dritte VNIC es der ersten Anwendung ermöglicht, auf eine vierte Anwendung zuzugreifen, die außerhalb der Kunden-Domäne ausgeführt wird, und wobei das dritte VNIC konfiguriert ist, um eine Adressierungsspezifikation zu nutzen, die von einem Server für die vierte Anwendung verwendet wird, wodurch eine Datenkommunikation, die der Kunden-Domäne zugehörig ist, gegenüber Einflüssen von einer Datenkommunikation, die einer zweiten Kunden-Domäne zugehörig ist, abzusichern.
- Ein weiteres Ausführungsbeispiel weist einen oder mehrere Prozessoren, ein oder mehrere Computer-lesbare Speicher und einen oder mehrere Computerlesbare konkrete Speichervorrichtungen auf. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um eine virtuelle Maschine (VM) für einen Kunden in der Kunden-Domäne zu konfigurieren. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um ein erstes virtuelles Netzwerk-Interface (VNIC) in der VM zu konfigurieren, wobei das erste VNIC es einer Anwendung auf der VM ermöglicht, auf eine zweite Anwendung in einer zweiten VM in der Kunden-Domäne zuzugreifen. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um eine erste Netzwerkadresse dem ersten VNIC zuzuweisen, wobei die erste Netzwerkadresse innerhalb eines ersten Adressbereiches liegt, der für die Kunden-Domäne ausgewählt ist. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um ein zweites VNIC in der VM zu konfigurieren, wobei das zweite VNIC es einer dritten Anwendung außerhalb der Kunden-Domäne ermöglicht, auf die VM in der Kunden-Domäne zuzugreifen, wobei das zweite VNIC konfiguriert ist, eine Adressierungsspezifikation zu nutzen, die von einem Server der dritten Anwendung verwendet wird. Das Ausführungsbeispiel weist weiterhin Programm-Anweisungen auf, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um ein drittes VNIC in der VM zu konfigurieren, wobei das dritte VNIC es der ersten Anwendung ermöglicht, auf eine vierte Anwendung zuzugreifen, die außerhalb der Kunden-Domäne ausgeführt wird, und wobei das dritte VNIC konfiguriert ist, um eine Adressierungsspezifikation zu nutzen, die von einem Server für die vierte Anwendung verwendet wird, wodurch eine Datenkommunikation, die der Kunden-Domäne zugehörig ist, gegenüber Einflüssen von einer Datenkommunikation, die einer zweiten Kunden-Domäne zugehörig ist, abgesichert wird.
- Kurze Beschreibung der Figuren
- Neue Merkmale, die als charakterisierend für die Erfindung angenommen werden, sind durch die anhängenden Ansprüche beschrieben. Die Erfindung selbst dagegen sowie ein bevorzugter Ausführungsmodus, weitere zugehörige Ziele und Vorteile werden am besten durch eine Zuhilfenahme der folgenden detaillierten Beschreibung und der dargestellten Ausführungsbeispiele, wenn diese im Zusammenhang mit den begleitenden Figuren gelesen werden, verstanden.
-
1 beschreibt ein Blockdiagramm für ein Datenverarbeitungssystem, in welchem die dargestellten Ausführungsbeispiele implementiert sein können. -
2 beschreibt ein Blockdiagramm eines Beispiels einer logisch partitionierten Plattform, in welcher die dargestellten Ausführungsbeispiele implementiert sein können. -
3 beschreibt ein Blockdiagramm einer Konfiguration zum Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung entsprechend einem dargestellten Ausführungsbeispiel. -
4 beschreibt ein Flussdiagramm eines Beispielprozesses zum Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung entsprechend einem dargestellten Ausführungsbeispiel. -
5 beschreibt ein Flussdiagramm eines anderen Beispielprozesses zum Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung entsprechend einem dargestellten Ausführungsbeispiel. -
6 beschreibt ein Flussdiagramm eines anderen Beispielprozesses zum Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung entsprechend einem dargestellten Ausführungsbeispiel. - Beschreibung von Ausführungsbeispielen
- Eine Mehr-Mieter-Datenverarbeitungs-Umgebung (Multi-Tenant Environment) ist eine Datenverarbeitungsumgebung, bei dem ein oder mehrere Kundendatenverarbeitungssysteme „gehostet” werden. Eine virtualisierte Mehr-Mieter-Datenverarbeitungs-Umgebung (Virtualisierungsumgebung, virtualisierte Mehr-Mieter-Umgebung, VME, Cloud) ist eine Mehr-Mieter-Umgebung, bei der virtuelle Maschinen konfiguriert sind, um Verarbeitungsaufgaben für mehrere Kunden abzuarbeiten.
- Die dargestellten Ausführungsbeispiele berücksichtigen, dass ein Kunde in einer VME mit unterschiedlichen VMs für unterschiedliche Aufgaben konfiguriert ist. Beispielsweise kann ein Kunde eine VM konfiguriert haben, um einen Web-Service bereitzustellen, eine andere, um einen Backup-Anwendung-Support bereitzustellen, und eine andere als Host für eine Datenbank. Eine beliebige Anzahl von VMs kann für spezielle Aufgaben konfiguriert sein, eine gemischte Nutzung oder allgemeine Computing-Aufgaben.
- Die dargestellten Ausführungsbeispiele berücksichtigen weiterhin, dass Kunden im Allgemeinen die Konfigurationen ihrer Anwendungen in einer VME steuern. Beispielsweise kann – anders als einige Basisanforderungen der VME, wo der Kunde „gehostet” ist – ein Kunde jeden Internet-Protocol(IP)-Adressenbereich auswählen, um eine Kommunikation zwischen verschiedenen Anwendungen des Kunden, die auf einer oder mehreren VMs ausgeführt werden, zu ermöglichen. Einige Beispiele der Basisanforderungen an eine VME sind, dass die Kunden-VMs für Verwaltungsaufgaben erreichbar sein sollten, und dass die Adressierung des Kunden nicht in Konflikt mit der Adressierung stehen sollte, die für gemeinsame Services genutzt werden, die in der VME verfügbar sind.
- Die dargestellten Ausführungsbeispiele berücksichtigen weiterhin, dass Kunden erwarten, dass ihr Satz von VMs und Anwendungen (Kunden-Domäne) sicher gegenüber anderen Kunden-Domänen ist. Mit anderen Worten: die Kommunikation zu und von einer Kunden-Domäne sollte keine Störungen mit Kommunikationen zu und von anderen Kundendomänen erzeugen, solange sie nicht beabsichtigt sind.
- Die dargestellten Ausführungsbeispiele berücksichtigen, dass eine Absicherung einer Kunden-Domäne in einer VME ein schwieriges Problem darstellt. Ein Beispielgrund für die Schwierigkeit besteht darin, dass ein durch einen Kunden gewählter Adressbereich unbeabsichtigt mit einem Adressbereich, der durch einen anderen Kunden in der VME ausgewählt wurde, überlappt.
- Die dargestellten Ausführungsbeispiele berücksichtigen, dass ein Durchsetzen einer strikten Adressbereichstrennungs-Policy praktisch nicht durchführbar, schwierig und teuer ist. Beispielsweise kann es sein, dass der Code einer Kundenanwendung geändert werden muss, um solch eine Policy durchzusetzen, was für den Kunden inakzeptabel wäre. Als anderes Beispiel sei erwähnt, dass eine Durchsetzung solch einer Policy in einer aktuell verfügbaren VME-Infrastruktur eine Konfiguration oder Rekonfiguration von einer oder mehrerer Kundendomänen erfordert, um einen neuen Kunden zu implementieren oder für eine Änderung einer Kundendomäne.
- Die dargestellten Ausführungsbeispiele berücksichtigen weiterhin, dass in der derzeit verfügbaren VME-Infrastruktur Hardware-Vorrichtungen genutzt werden müssen, um die Kunden-Domänen von den Servern zu isolieren, welche administrativen Anwendungen und gemeinsamen Tools dienen. Folglich müssen Hardware-Elemente in einer VME-Änderung hinzugefügt, entfernt oder geändert werden, wenn sich Kunden-Domänen ändern. Solche Hardware-Änderungen sind teuer und erfordern weiterhin strikte Policy-artige Lösungen für Adressbereichsabgrenzung, um das Problem der überlappenden Kunden-Domänen-Adressbereiche zu adressieren.
- Die dargestellten Ausführungsbeispiele, die genutzt werden, um die Erfindung im Allgemeinen zu beschreiben, adressieren und lösen die oben dargestellten Probleme und andere Probleme im Zusammenhang mit Mehr-Mieter-Umgebungen. Die dargestellten Ausführungsbeispiele stellen ein Verfahren, ein System und ein Computer-Programm-Produkt für ein Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung vor.
- Die dargestellten Ausführungsbeispiele stellen eine Art einer Konfiguration von Komponenten in einer Kunden-Domäne vor, so dass die Kunden-Domäne sicher vor Störungen anderer Kunden-Domänen in der VME sind; das gilt auch dann, wenn die Kunden-Domäne einen Adressbereichen nutzt, der mit einer anderen Kunden-Domäne in der VME überlappt. Die dargestellten Ausführungsbeispiele stellen weiterhin eine Technik zur Sicherung einer Abgrenzung zwischen der Kunden-Domäne und den verwaltenden und gemeinsamen Tools vor, so dass Hardware-Elemente nicht erforderlich sind, um die Abgrenzung zu konfigurieren. Die hier beschriebenen Techniken, Prozeduren und die Art und Weise des Betriebes können in einem Template für eine VM implementiert sein, so dass, wenn eine VM in einer Kunden-Domäne konstruiert wird, die VM in einer Art und Weise konfiguriert ist, wie es durch diese Offenbarung beschrieben ist, ohne dass Hardware-Änderungen in der Mehr-Mieter Umgebung erforderlich sind.
- Die dargestellten Ausführungsbeispiele sind unter Berücksichtigung von bestimmten Datenverarbeitungssystemen, Umgebungen, Komponenten und Applikationen beschrieben. Jede spezifische Manifestation solcher Artefakte sind nicht dazu gedacht, die Erfindung begrenzen. Jede brauchbare Manifestation der Datenverarbeitungssysteme, Umgebungen, Komponenten und Anwendungen können aus dem Gesamtumfang der dargestellten Ausführungsbeispiele ausgewählt werden.
- Darüber hinaus können dargestellte Ausführungsbeispiele unter Berücksichtigung jeder Art von Daten, Datenquellen oder Zugriff auf Datenquellen über ein Datennetzwerk implementiert werden. Jede Art von einer Datenspeichervorrichtung kann die Daten für ein Ausführungsbeispiel der Erfindung im Rahmen der Erfindung entweder lokal in einem Datenverarbeitungssystem oder über ein Datennetzwerk bereitstellen.
- Die dargestellten Ausführungsbeispiele sind unter Nutzung von spezifischem Code, Design, Protokollen, Layouts, Schemata und Tools beschrieben und nicht auf die dargestellten Ausführungsbeispiele beschränkt. Darüber hinaus sind an einigen Stellen die dargestellten Ausführungsbeispiele unter Nutzung von bestimmter Software, Tools und Datenverarbeitungsumgebungen nur beispielhaft und der Klarheit der Beschreibung dienend beschrieben. Die dargestellten Ausführungsbeispiele können im Zusammenhang mit anderen vergleichbaren oder ähnlich gearteten Strukturen, Systemen, Anwendungen oder Architekturen genutzt werden. Ein dargestelltes Ausführungsbeispiel kann in Hardware, Software oder einer daraus bestehenden Kombination implementiert sein.
- Die Beispiele in dieser Offenbarung werden nur für die Klarheit der Darstellung genutzt und begrenzen die dargestellten Ausführungsbeispiele nicht. Zusätzliche Daten, Operationen, Aktionen, Tasks, Aktivitäten und Manipulationen können aus der Beschreibung abgeleitet werden und ergeben sich aus dem Umfang der dargestellten Ausführungsbeispiele.
- Jegliche hier aufgelistete Vorteile sind nur Beispiele und nicht dazu gedacht, um einschränkend auf die dargestellten Ausführungsbeispiele zu wirken. Zusätzliche oder andere Vorteile können sich durch spezifische dargestellte Ausführungsbeispiele ergeben. Darüber hinaus kann ein bestimmtes dargestelltes Ausführungsbeispiel alle oder keine der oben aufgelisteten Vorteile aufweisen.
- Unter Bezugnahme auf die Figuren und insbesondere unter Bezugnahme auf die
1 und2 sei erwähnt, dass diese Figuren Beispieldiagramme von Datenverarbeitungsumgebungen sind, in welchen dargestellte Ausführungsbeispiele implementiert sein können.1 und2 sind nur Beispiele, und es ist nicht beabsichtigt, irgendwelche Abgrenzungen hinsichtlich der Umgebungen, in welchen unterschiedliche Ausführungsbeispiele implementiert sein können, festzustellen oder zu implizieren. Eine bestimmte Implementierung kann viele Modifikationen hinsichtlich der beschriebenen Umgebungen und basierend auf der folgenden Beschreibung vornehmen. -
1 stellt ein Blockdiagramm für ein Datenverarbeitungssystem dar, in denen die dargestellten Ausführungsbeispiele implementiert sein können. Das Datenverarbeitungssystem100 kann ein symmetrisches Multiprozessorsystem (SMP) mit einer Mehrzahl von Prozessoren101 ,102 ,103 und104 sein, die mit dem System-Bus106 verbunden sind. Beispielsweise kann das Datenverarbeitungssystem101 ein IBM Power System sein, welches als Server in einem Netzwerk implementiert ist (Power Systems ist ein Produkt und ein Markenzeichen von International Business Maschinen Corporation in den vereinigten Staaten und anderen Ländern). Alternativ kann ein einzelnes Prozessorsystem betrieben werden, und die Prozessoren101 ,102 ,103 und104 können Kerne des Einzelprozessor-Chips sein. Alternativ kann das Datenverarbeitungssystem100 die Prozessoren101 ,102 ,103 ,104 in jeder beliebigen Kombination von Prozessoren und Kernen aufweisen. - Weiterhin ist eine Speichersteuerung/Cache
108 , welcher ein Interface für eine Mehrzahl von lokalen Speichern160 –163 bereitstellt, mit dem System Bus106 verbunden. Die I/O-Bus-Brücke110 verbindet den System-Bus106 und stellt ein Interface zum I/O-Bus112 dar. Die Speichersteuerung/Cache108 und die I/O-Brücke110 können integriert sein, wie es dargestellt ist. - Das Datenverarbeitungssystem
100 ist ein logisch partitioniertes Datenverarbeitungssystem. Somit kann das Datenverarbeitungssystem100 mehrere heterogene Betriebssysteme (oder mehrere Instanzen eines einzigen Betriebssystems) gleichzeitig ausführen. Jedes dieser mehreren Betriebssysteme kann in ihnen mehrere Softwareprogramme ausführen. Das ist logisch partitioniert, so dass verschiedene PCI-I/O-Adapter120 –121 ,128 –129 und136 , ein Grafik Adapter148 und ein Festplatten-Adapter149 unterschiedlichen logischen Partitionen zugewiesen sein kann. In diesem Fall ist der Grafik Adapter148 mit einer Anzeigeeinheit (nicht dargestellt) verbunden, während der Festplatten-Adapter149 mit einer Festplatte150 verbunden ist und sie steuert. - Es sei also beispielsweise angenommen, dass das Datenverarbeitungssystem
100 in drei logische Partitionen P1, P2 und P3 aufgeteilt ist. Jeder PCI-I/O-Adapter120 –121 ,128 –129 ,136 , der Grafik-Adapter148 , der Festplattenadapter149 , jeder der Host-Prozessoren101 –104 und Speicher der lokalen Speicher160 –163 ist einer der drei Partitionen zugewiesen. In diesen Beispielen kann der Speicher160 –163 die Form von Dual-In-Line-Speichermodulen (DIMMs) annehmen. DIMMS sind normalerweise auf einer pro-DIMM-Basis den Partitionen zugewiesen. Hier dagegen bekommt eine Partition einen Teil des gesamten Speichers, wie er von der Plattform aus gesehen wird. Beispielsweise können dem Prozessor101 , einzelne Teile des Speichers von den lokalen Speichern160 –163 und die I/O-Adapters120 ,128 und129 der logischen Partition P1 zugewiesen sein; die Prozessoren102 –103 , einige Teile des Speichers der lokalen Speicher160 –163 , und den PCI-I/O-Adaptern121 und136 können der Partition P2 zugewiesen sein; und der Prozessor104 , einzelne Teile des Speichers der lokalen Speicher160 –163 , des Grafik-Adapters148 und der Festplattenadapter149 kann der logischen Partition P3 zugewiesen sein. - Jedes Betriebssystem innerhalb des Datenverarbeitungssystems
100 ist einer anderen logischen Partition zugewiesen. Somit kann jedes Betriebssystem, welches auf dem Datenverarbeitungssystem100 ausgeführt wird, nur auf die I/O-Einheiten zugreifen, die sich in seiner logischen Partition befinden. Somit kann beispielsweise eine Instanz des Advanced Interactive Executive (AIX – eingetragenes Warenzeichen) Betriebssystems innerhalb der Partition P1 ausgeführt werden, eine zweite Instanz (Image) des AIX-Betriebssystems kann innerhalb der Partition P2 ausgeführt werden, und eine Linux (eingetragenes Warenzeichen) oder IBM-i (eingetragenes Warenzeichen) Betriebssystem kann in der logischen Partition P3 betrieben werden (AIX und IBM-i sind Marken der International Business Maschinen Corporation in den vereinigten Staaten und anderen Ländern. Linux ist der Marke von Lunis Torvals in den Vereinigten Staaten und anderen Ländern). - Die Peripheral-Component-Interconnect-(PCI)-Host-Bridge
114 , die mit dem I/O-Bus112 verbunden ist, stellt ein Interface zum lokalen PCI-Bus115 bereit. Eine Anzahl von PCI-Input/Output-Adaptern120 –121 ist mit dem lokalen PCI-Bus115 durch die PCI-zu-PCI-Brücke116 , den PCI-Bus116 , den PCI-Bus119 , I/O-Slot170 und I/O-Slot171 verbunden. Die PCI-zu-PCI-Brücke116 stellt ein Interface für PCI-Bus118 und PCI-Bus119 dar. Die PCI-I/O-Adapter120 und121 sind entsprechend in den I/O-Slots170 und171 platziert. Typische PCI-Bus-Implementationen unterstützen zwischen vier und acht I/O-Adaptern (d. h., Erweiterungs-Slots für weitere hinzufügbare Anschlüsse). Jeder PCI-I/O-Adapter120 –121 stellt ein Interface zwischen dem Datenverarbeitungssystem100 und Input-/Output-Geräten – wie beispielsweise andere Netzwerk-Computer, die für das Datenverarbeitungssystem100 Clients sind – dar. - Eine zusätzliche PCI-Host-Brücke
122 stellt ein zusätzlich es Interface für einen zusätzlichen lokalen PCI-Bus123 bereit. Der lokale PCI-Bus123 verbindet eine Mehrzahl von PCI-I/O-Adaptern128 –129 . Die PCI-I/O-Adapter128 –129 verbinden sich zum lokalen PCI-Bus123 durch die PCI-zu-PCI-Brücke124 , den PCI-Bus116 , den PCI-Bus127 , I/O-Slot172 und I/O-Slot173 . Die PCI-zu-PCI-Brücke124 stellt ein Interface zum PCI-Bus126 und PCI-Bus127 dar. Die PCI-I/O-Adapter128 und129 sind entsprechend in den I/O-Slots172 und173 platziert. Auf diese Weise werden zusätzliche I/O-Geräte – wie beispielsweise Modems oder Netzwerkadapter – durch jeden der PCI-I/O-Adapter128 –129 unterstützt. Konsequenterweise erlaubt das Datenverarbeitungssystem100 Verbindungen zu mehreren Netzwerk-Computern. - Der Memory-Mapped-Grafik-Adapter
148 steckt im I/O-Slot144 und ist mit dem I/O-Bus112 durch den PCI-Bus144 , die PCI-zu-PCI Brücke142 , dem lokalen PCI-Bus141 und die PCI-Brücke140 verbunden. Der Festplatten-Adapter149 kann im I/O-Slot175 platziert sein, der mit dem PCI-Bus145 verbunden ist. Umgekehrt ist der PCI-Bus145 mit der PCI-zu-PCI-Brücke142 verbunden, welche mit der PCI-Brücke140 durch den lokalen PCI-Bus141 verbunden ist. - Die PCI-Brücke
130 bietet ein Interface für einen lokalen PCI-Bus131 , um sich mit dem I/O-Bus112 zu verbinden. Der PCI-I/O-Adapter136 ist mit dem I/O-Slot176 verbunden, welcher mit der PCI-zu-PCI-Brücke132 durch den PCI-Bus133 verbunden ist. Die PCI-zu-PCI-Brücke132 ist mit dem lokalen PCI-Bus131 verbunden. Der lokale PCI-Bus131 ist auch mit der PCI-Brücke130 verbunden, um das Prozessor-Mailbox-Interface und die ISA-Bus-Zugriff-Pass-Through-Logik194 und die PCI-zu-PCI-Brücke132 zu bedienen. - Das Service-Prozessor-Mailbox-Interface und die ISA-Bus-Zugriff-Pass-Through-Logik
194 leiten PCI-Zugriffe weiter, die für die PCI/ISA-Brücke193 bestimmt sind. Der NVRAM-Speicher192 ist mit dem ISA-Bus196 verbunden. Der Service-Prozessor135 ist mit dem Service-Prozessor-Mailbox-Interface und der ISA-Bus-Zugriff-Pass-Through-Logik194 durch seinen lokalen PCI-Bus195 verbunden. Der Service-Prozessor135 ist auch mit den Prozessoren101 –104 über eine Mehrzahl von JTAG/I2C-Bussen134 verbunden. Die JTAG/I2C-Busse134 sind eine Kombination von JTAG/Scan-Bussen (vergleiche IEEE 1149.1) und Philips-I2C-Bussen. - Alternativ können die JTAG/I2C-Busse
124 nur durch Philips-I2C-Busse oder nur JTAG/Scan-Busse ersetzt werden. Alle SP-ATTN-Signale der Prozessoren101 ,102 ,103 und104 sind gemeinsam mit einem Interrupt-Eingangssignal des Service-Prozessors135 verbunden. Der Service-Prozessor135 hat seinen eigenen lokalen Speicher191 und hat Zugriff auf das Hardware-OP-Panel190 . - Wenn das Datenverarbeitungssystem
150 zuerst mit Strom versorgt wird, nutzt der Service-Prozessor135 die JTAG/I2C-Busse134 , um die System-(Host-)-Prozessoren101 –104 , die Speichersteuerung/Cache108 und die I/O-Brücke110 abzufragen. Am Ende dieses Schrittes hat der Service-Prozessor ein Inventar- und Topologie-Verständnis des Datenverarbeitungssystems100 . Der Service-Prozessor135 führt auch Build-In-Self-Tests (BISTs), Basic-Assurance-Tests (BATs) und Speichertests bezüglich aller gefundenen Elemente durch Abfrage der-Prozessoren101 –104 , der Speichersteuerung/Cache108 und der I/O-Brücke110 durch. Der Service-Prozessor135 sammelt und berichtet jede Fehlerinformation bzgl. Fehlfunktionen, die während der BISTs, BATs und Speichertests erkannt wurden. - Wenn eine sinnvoll/gültige Konfiguration von Systemressourcen nach einer Entfernung von Elementen, die während der BISTs, BATs und Speichertests als fehlerhaft erkannt wurden, weiterhin sinnvoll sind, dann ist es dem Datenverarbeitungssystem
100 erlaubt, damit fortzufahren, ausführbaren Code in die lokalen (Host-)-Speicher160 –163 zu laden. Der Service-Prozessor135 gibt dann die Host-Prozessoren101 –104 für eine Ausführung von Code frei, welcher in die lokalen Speicher160 –163 geladen wurde. Während die Host-Prozessoren101 –104 Code von entsprechenden Betriebssystemen in dem Datenverarbeitungssystem100 ausführen, geht der Service-Prozessor135 in einen Überwachungs- und Fehlerberichtmodus über. Der Service-Prozessor135 überwacht dabei beispielsweise Merkmale wie Geschwindigkeit und das Betriebsverhalten eines Ventilators, Temperatursensoren, Spannungsversorgungssteuerungen, behebbare und nicht behebbarer Fehler, die durch die Prozessoren101 –104 gemeldet werden, die lokalen Speicher160 –163 und die I/O-Brücke110 . - Der Service-Prozessor
135 sichert und berichtet Fehlerinformationen, die sich auf alle überwachten Elemente des Datenverarbeitungssystems100 beziehen. Der Service-Prozessor135 gereift auch basierend auf der Art der Fehler und definierten Grenzwerte ein. Beispielsweise kann der Service-Prozessor135 von überhandnehmenden behebbaren Fehlern eines Cache-Speichers eines Prozessors Notizen nehmen und entscheiden, dass dies auf einen schweren Ausfall hinweist. Der Service-Prozessor135 kann basierend auf dieser Feststellung die entsprechende Ressource für eine die De-Konfiguration während aktuell laufender Sessions und zukünftige IPLs (Initial Program Loads) markieren. IPLs werden manchmal als „Boot” oder „Bootstrap” bezeichnet. - Das Datenverarbeitungssystem
100 kann unter Nutzung verschiedener kommerziell verfügbarer Computersysteme implementiert sein. Beispielsweise kann das Datenverarbeitungssystem100 unter Nutzung von IBM-Power-Systemen von International Business Machines Corporation implementiert sein. Ein solches System kann eine logische Partitionierung unter Nutzung eines AIX-Betriebssystems unterstützen, welches auch von International Business Machines Corporation verfügbar ist. - Speicher, wie etwa der Speicher
191 , NVRAM192 , die lokalen Speicher160 ,161 ,162 und163 oder Flash-Speicher (nicht dargestellt) sind einige Beispiele von Computer-nutzbaren Speichervorrichtungen. Die Festplatte150 , ein CD-ROM (nicht dargestellt) und andere ähnliche nutzbare Geräte sind einige Beispiele für Computer-nutzbare Speichervorrichtungen inklusive Computer-nutzbare Speichermedien. - Fachleute werden erkennen, dass die Hardware, die in
1 dargestellt ist, variieren kann. Beispielsweise können andere Peripheriegeräte – wie etwa optische Plattenlaufwerke oder Ähnliches – zusätzlich oder anstelle der dargestellten Hardware genutzt werden. In anderen Beispielen, können physische Ressourcen – wie etwa Adapter – als entsprechende virtuelle Ressourcen (nicht dargestellt) tirtualisiert werden; und die virtuellen Ressourcen können dann den verschiedenen Partitionen zugeordnet werden. In einem anderen Beispiel kann die Hardware, die in1 dargestellt ist, so konfiguriert sein, dass ein oder mehrere virtuelle I/O-Server (VIOS) (nicht dargestellt) genutzt werden. Die VIOS erlauben eine gemeinsame Nutzung von physischen Ressourcen, wie etwa Adaptern, Plattenlaufwerken, Steuerungen, Prozessoren, Speicher und Ähnlichem durch die unterstützten logischen Partitionen. Neben anderen Funktionen zwischen Partitionen reduziert ein gemeinsam genutztes VIOS die Notwendigkeit für große Mengen an Verkabelung, um eine Live-Migration durchzuführen. Die dargestellten Beispiele sind nicht dazu gedacht, architekturbezogene Limitation hinsichtlich der dargestellten Ausführungsbeispiele zu implizieren. -
2 beschreibt ein Blockdiagramm eines Beispiels einer logisch partitionierten Plattform, in denen die dargestellten Ausführungsbeispiele implementiert sein können. Die Hardware der logisch partitionierte Plattform200 kann beispielsweise mit Komponenten implementiert sein, die dem Datenverarbeitungssystem100 in1 entsprechen. - Die logisch partitionierte Plattform
200 enthält partitionierte Hardware230 , Betriebssysteme202 ,204 ,206 ,208 und Plattform-Firmware210 . Die Plattform-Firmware – wie etwa die Plattform-Firmware210 – ist auch als Partitionierungs-Management-Firmware bekannt. Die Betriebssysteme202 ,204 ,206 und208 können mehrere Kopien eines einzigen Betriebssystems oder mehrerer heterogener Betriebssysteme sein, die gleichzeitig auf der logisch partitionierten Plattform200 ausgeführt werden. Die Betriebssysteme können unter Nutzung von IBM-i implementiert sein, welches dazu ausgelegt ist, mit einer Partitionierungs-Management-Firmware wie beispielsweise einem Hypervisor zu interagieren. IBM-i wird nur als ein Beispiel für die dargestellten Ausführungsbeispiele genutzt. Natürlich können auch andere Arten von Betriebssystemen wie etwa AIX und Linux abhängig von der tatsächlichen Implementierung genutzt werden. Die Betriebssysteme202 ,204 ,206 und208 befinden sich entsprechend in den Partitionen203 ,205 ,207 und209 . - Ein Hypervisor ist ein Beispiel für Software, welche dazu genutzt werden kann, um die Partitionierungs-Management-Firmware
210 zu implementieren, und sie ist auch von International Business Machines Corporation erhältlich. Firmware ist „Software”, die in einem Speicher-Chip gespeichert ist, der seinen Inhalt auch ohne elektrische Stromversorgung behält, wie dies beispielsweise bei ROMS (read-only memory), programmierbaren ROMs PROM) löschbaren programmierbaren ROM (EPROM), elektrisch löschbaren programmierbaren ROMs (EEPROM) und nicht flüchtigem RAM (random access memory) (NVROM) der Fall ist. - Zusätzlich enthalten die Partitionen
203 ,205 ,207 und209 entsprechende Partitionierungs-Firmware210 ,213 ,215 und217 . Die Partitionierungs-Firmware210 ,213 ,215 und217 kann unter Nutzung eines Inital Bootstrap Code von IEEE-1275 Standard Open Firmware und Runtime Abstraction Software (RTAS) implementiert sein, welche von International Business Machines Corporation erhältlich ist. Wenn die Partitionen203 ,205 ,207 und209 instanziiert sind, lädt die Plattform-Firmware210 eine Kopie des Bootstrap-Code in die Partitionen203 ,205 ,207 und209 . Danach wird die Kontrolle auf den Bootstrap-Code übertragen, sodass der Bootstrap-Code dann die Open Firmware und RTAS lädt. Die Prozessoren, die mit den Partitionen assoziiert sind bzw. ihnen zugewiesen sind, werden dann auf die Partitionsspeicher verteilt, um die Partitions-Firmware auszuführen. - Partition
203 ist eine Beispiel-VM, die konfiguriert ist, um in einer Kunden-Domäne betrieben zu werden und um als Beispielanwendung203A zu dienen. Die Partition203 ist mit mindestens drei virtuellen Netzwerk-Interface-Karten (VNICs)212A ,212B und212C konfiguriert. Die Partition205 ist einen weitere Beispiel-VM, die konfiguriert ist, um in einer Kunden-Domäne betrieben zu werden, und um als Beispiel für eine Datenbank-Anwendung205A zu dienen. Jede der Partitionen203 und205 ist mit mindestens drei virtuellen Netzwerk-Interface-Karten (VNICs) konfiguriert. Partition203 umfasst VNICs212A ,212B und Partition205 enthält VNICs214A ,214B und214C . Beispielsweise ist jede der VNICs212A ,212B ,212C ,214A ,214B ,214C eine virtuelle Ressource, welche eine Kombination der physischen I/O-Adapter248 ,250 ,252 ,254 ,256 ,258 ,260 und262 in geeigneter Weise abbildet. - Die Partition
207 ist eine Beispiel-VM, die konfiguriert ist, um beispielhaften Administrations-Services207A zu dienen. Die Administrations-Services207A sind einsetzbar für eine Verwaltung der Partitionen203 und205 in der Kunden-Domäne. Die Administrations-Services207A nutzen den VNIC216A , um für diese Aufgabe auf die Partitionen203 und205 in der Kunden-Domäne zuzugreifen. VNIC216A ist eine virtuelle Ressource, die auf irgendeinen der physischen I/O-Adapter248 ,250 ,252 ,254 ,256 ,258 ,260 und262 in geeigneter Weise abgebildet wird. In einem Ausführungsbeispiel wird ein VNIC – wie etwa VNIC216A – auf eine virtuelle Ressourcen in einem VIOS-Instanz abgebildet, welche dann mit einem oder mehreren dieser physischen Adapter verbunden wird. Beispielsweise stellt die VIOS-Instanz in solch einer Implementierung Redundanz durch einen gemeinsam genutzten Ethernet-Adapter über 2 VIOS sicher. In einem Ausführungsbeispiel sind die Administrations-Services207A auf einem Host (nicht dargestellt) konfiguriert, der sich von der logischen Partitions-Plattform200 unterscheidet, sind zu greifbar von der Kunden-Domäne über ein Datennetzwerk, und der VNIC216A bildet auf einen anderen physischen I/O-Adapter in dem bestimmten Host ab. In einem Ausführungsbeispiel umfasst die Kunden-Domäne Partitionen von VMs in anderen Host-Systemen (nicht dargestellt), die sich von der logischen Partitionierungs-Plattform200 unterscheiden, und auf die von den Partitionen203 und205 über ein Datennetzwerk zugegriffen werden kann. - Die Partition
209 ist eine Beispiel-VM, die konfiguriert ist, um als ein Beispiel für gleichzeitig genutzte (shared) Tools209A zu dienen. Die shared Tools209A werden in der Partition209 durch die Partitionen203 und205 in der Kunden-Domäne über ein Datennetzwerk über den VNIC218A erreicht. Der VNIC218A ist eine virtualisierte Ressource, die auf irgend einen der physischen I/O-Adapter248 ,250 ,252 ,254 ,256 ,258 ,260 und262 in geeigneter Weise abgebildet wird. In einem Ausführungsbeispiel sind die shared Tools209A auf einem Host (nicht dargestellt) konfiguriert, der sich von der logischen Partitionierungs-Plattform200 unterscheidet, sind zugreifbar von der Kunden-Domäne über ein Datennetzwerk, und der VNIC218A bildet auf einen anderen physischen I/O-Adapter in dem bestimmten Host ab. - Der Domain-Name-Service (DNS)
220A stellt eine oder mehrere kundenspezifische Ansichten eines DNS-Service dar, welcher in der VME ausgeführt wird, in der die logische Partitions-Plattform200 betrieben wird. Kundenspezifische Ansichten von DNS220A exponiert nur die Routen zu denjenigen Administrations-Services207A und shared Tools209A , welche für die Kunden-Domäne autorisiert sind, welche die Partitionen203 und205 aufweisen. - Die virtuelle Firewall und der Router (VFW/Router)
220B ist eine virtuelle Routing-Ressource in der VME. Die VFW/Router220B ist in der Kunden-Domäne instanziiert, um eine Kommunikation zwischen Servern, Anwendungen und VMs in der Kunden-Domäne zu ermöglichen. Mehr als eine Instanz, die der Instanz220B ähnlich ist, kann in der Kunden-Domäne erzeugt werden, ohne von dem Umfang der dargestellten Ausführungsbeispiele abzuweichen. - Der Proxy
220C – allein oder in Verbindung mit einer Kombination der VFW/Router220B und DNS220A – ermöglicht eine Kommunikation zwischen den Komponenten in der Kunden-Domäne und den Administration-Services207A und den shared Tools209A , ohne eine Verwirrung oder Einflussnahme von anderen Kunden-Domänen, welche in einem Adressbereich genutzt werden, welcher mit dem Adressbereich, der von der Kunden-Domäne genutzt wird, überlappt. Der Proxy220C kann ein Reverse-Proxy, ein bidirektionaler Proxy oder eine andere geeignete Ausführung eines Proxy-Servers sein. Darüber hinaus kann der Proxy220C eine Transformationsvorrichtung sein – wie ein NAT – oder ein Tool, welches ein Policy-basierendes Routing zu gemeinsam genutzten Ziel-Tools auszuführen in der Lage ist. Das Policy-basierendes Routing erlaubt eine Überlappung von Bereichen, die basierend auf der Quell-Router/Firewall unterschiedlich ge-routet und deshalb zu einem bestimmten (VM) gemeinsam genutzten Tool ge-routet werden, welches aufgesetzt wurde, um entweder die überlappenden Adressierungsbereichsprobleme zu lösen oder um eine Anwendung (Tool) herzustellen, welche keine „Mehrfach-Miete” unterstützt, wie beispielsweise durch Instanziierung. - Die partitionierte Hardware
230 umfasst eine Mehrzahl von Prozessoren232 –238 , eine Mehrzahl von Systemspeichereinheiten240 –246 , eine Mehrzahl von Eingabe/Ausgabe-(I/O)-Adaptern248 –262 und eine Speichereinheit270 . Jeder der Prozessoren232 –238 , der Speichereinheiten240 –246 , des NVRAM-Speichers298 und der I/O-Adapter248 –262 kann einer der Partitionen203 ,205 ,207 ,209 innerhalb der logisch partitionierten Plattform200 zugewiesen sein, wobei jede der Partitionen203 ,205 ,207 und209 einem der Betriebssysteme202 ,204 ,206 und208 entspricht. - Die Partitionierungs-Management-Firmware
210 führt einer Reihe von Funktionen und Services für die Partitionen203 ,205 ,207 und209 aus, um die Partitionierung der logisch partitionierten Plattform200 zu erzeugen und zu erzwingen. Die Partitionierungs-Management-Firmware210 ist eine Firmware-implementierte virtuelle Maschine, die zu der darunterliegenden Hardware identisch ist. Somit erlaubt die Partitionierungs-Management-Firmware210 eine gleichzeitige Ausführung von unabhängigen Betriebssystem-Images202 ,204 ,206 und208 durch eine Virtualisierung aller der Hardware-Ressourcen der logisch partitionierten Plattform200 . - Der Service-Prozessor
290 kann dazu genutzt werden, um verschiedene Services bereitzustellen – wie etwa einer Verarbeitung von Plattformfehlern in den Partitionen. Diese Services können auch als ein Service-Agent agieren, um Fehler zurück zu einem Hersteller – wie International Business Machines Corporation – zu melden. Aktionen der Partitionen203 ,205 ,207 , und209 können durch eine Hardware-Management-Konsole gesteuert werden – wie beispielsweise der Hardware-Management-Konsole280 . Die Hardware-Management-Konsole280 ist ein separates Datenverarbeitungssystem von dem aus ein System-Administrator verschiedene Funktionen inklusive einer Re-Allokation von Ressourcen zu unterschiedlichen Partitionen vornehmen kann. - Die Hardware in den
1 –2 kann abhängig von der Implementierung variieren. Andere interne Hardware oder Peripheriegeräte, wie etwa Flash-Speicher, äquivalenter nicht flüchtige Speicher oder optische Laufwerke oder Ähnliches kann zusätzlich oder anstelle von einzelnen Hardware-Elementen, die in den1 –2 dargestellt sind, genutzt werden. Eine Implementierung der dargestellten Ausführungsbeispiele kann auch alternative Architekturen für eine Verwaltung von Partitionen nutzen, ohne von dem Umfang der Erfindung abzuweichen. -
3 stellt ein Blockdiagramm einer Konfiguration für eine Bereitstellung einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung entsprechend einem dargestellten Ausführungsbeispiel dar. VME-Teil300 ist Teil einer VME, in der mehrere Kunden-Domänen konfiguriert sind. Die Kunden-Domäne302 ist eine Beispiel-Kunden-Domäne in dem VME-Teil300 . Der virtuelle Server304 ist eine Beispielmaschine, die in der Beispiel-Kunden-Domäne302 konfiguriert ist. Der virtuelle Server304 kann unter Nutzung der Partition302 aus2 implementiert sein. Die VNICs312A ,312B , und312C sind entsprechende Ausführungsbeispiele der VNICs212A ,212B und212C . - In einem Ausführungsbeispiel wird das VNIC
312A betrieben, um eine Kommunikation zwischen den verschiedenen Servern zu ermöglichen, die in der Kunden-Domäne302 betrieben werden. Der VNIC312A kommuniziert mit VFW/Router306 , um eine oder mehrere Server, Komponenten oder Anwendungen in der Kunden-Domäne302 zu erreichen. - Der VNIC
312A ist konfiguriert, um eine Adresse aus dem Adressbereich der Kundenauswahl zu nutzen. Der ausgewählte Adressbereich und konsequenterweise die Adresse, die dem VNIC312A zugewiesen wird, kann eine IPv4-Adressierung oder eine IPv6-Adressierung entsprechend der Kundenwahl nutzen. - Kunden können den Adressbereich, der für Maschinen, Server, Systeme, Adapter, Komponenten oder Anwendungen, die in der gemeinsam genutzten Domäne
312 betrieben wird, nicht nutzen. Während Adressbereiche, welche sich zwischen zwei oder mehreren Kunden-Domänen überlappenden, unwahrscheinlich sind, wenn man IPv6 nutzt, gibt es doch eine gewisse Möglichkeit einer solchen Überlappung, wenn man sich für IPv4-Bereiche entscheidet. Überlappungen in der IPv4-Adressierung werden dadurch wahrscheinlicher, dass weniger und weniger freie eindeutige IPv4-Adressen übrig bleiben, und weil große Anteile von IPv4-Adressenräumen wiederverwendet werden und nicht als eindeutig verfügbar sind. - In einem Ausführungsbeispiel ist der VNIC
312A doppelt ausgebildet, nämlich konfiguriert, um sowohl den IPv4-TCP/IP-Stack als auch den IPv6-TCP/IP-Stack zu nutzen. Vorteilhafter Weise erlaubt es die doppelt ausgeführte Konfiguration den Kunden, jede beliebige Adressierungsspezifikation zu nutzen, um von einer Adressspezifizierung zu einer anderen zu wechseln oder eine Kombination von Adressierungsspezifikationen innerhalb ihrer Domäne zu nutzen, ohne Hardware-Zusätze oder Änderungen in der unterstützten VME zu benötigen. - In einem Ausführungsbeispiel wird der VNIC
312B betrieben, um eine Kommunikation zwischen dem virtuellen Server304 und Servern, die Administrations-Services bereitstellen – wie etwa gemeinsam genutztenSpeicher-/Backup-/Installations-/Wiederherstellungs-Services, zu ermöglichen. Der VNIC 3N2B kommuniziert mit dem VFW/Router308 , um einen oder mehrere Administrations-Services zu erreichen. Neben anderen Gründen nutzt ein Ausführungsbeispiel den zweiten VNIC312B , um umfangreichen Speicherverkehr separat von anderem Datenverkehr zu halten, um so eine Nutzung von Jumbo-Frames zu erlauben, welche extensive Routing-Pfad-Unterstützung benötigen. - Der VNIC
312B ist konfiguriert, um eine IPv6-Adresse zu nutzen, die einem Kunden eindeutig zugewiesen ist. In einem Ausführungsbeispiel ist der VNIC312A konfiguriert, nur den IPv6-TCP/IP-Stack zu nutzen. Administrations-Services sind in der VME nur über IPv6-Adressen erreichbar, die eindeutig für eine Nutzung in einer gemeinsam genutzten Domäne352 zugewiesen sind. IPv6 nutzt eine 128-Bit-Adresse, was 2128 oder ungefähr 3,4·1038 Adressen ermöglicht, oder mehr als 7,9·1028 mal so viele wie IPv4, welches eine 32-Adresse nutzt. Weil der IPv6-Adressraum im Vergleich zum IPv4-Adressraum extrem groß ist und weil die gleiche IPv6-Adresse nicht unterschiedlichen Entitäten zugeordnet ist, ist eine versehentliche Überlappung von Adressen höchst unwahrscheinlich, wenn nicht sogar unmöglich. - In einem Ausführungsbeispiel wird der VNIC
312C betrieben, um eine Kommunikation zwischen dem virtuellen Server304 und Servern, die gemeinsam genutzte Tools bereitstellen, zu ermöglichen. Der VNIC312C kommuniziert mit dem Proxy310 und der VFW/Router312 , um auf ein oder mehrere gemeinsam genutzte Tools zuzugreifen. Der Proxy310 erlaubt eine zuverlässige Kommunikation zwischen Anwendungen in der Kunden-Domäne302 und Anwendungen in der gemeinsam genutzten Domäne352 im Falle einer Überlappung zwischen den Adressbereichen, die für die Kunden-Domäne302 und andere Kunden-Domänen genutzt werden. - Der VNIC
312C ist konfiguriert, um entweder eine IPv4- entsprechend einer Kundenwahl oder eine IPv6-Adresse, die eindeutig einem Kunden (oder eindeutig dem Hosting-Provider zugewiesen ist, der es dann für den Kunden allokiert) zugewiesen ist, zu nutzen, aber nicht beide. Dementsprechend ist der VNIC312C konfiguriert, um entsprechend entweder den IPv4-TCP/IP-Stack oder den IPv6-TCP/IP Stack zu nutzen, aber nicht beide. - Die Auswahl zwischen der IPv4-Adressierung und der IPv6-Adressierung in dem VNIC
312C hängt wegen der Interoperabilitätsbeschränkung zwischen der IPv4-Adressierung und der IPv6-Adressierung von der Adressierung ab, die in der gemeinsam genutzten Domäne352 für die gemeinsam genutzten Tools genutzt wird. Wenn die gemeinsam genutzten Tools über eine IPv4-Adressierung erreicht werden können, die für die gemeinsam genutzte Domäne352 reserviert ist, dann ist der VNIC312C mit einer IPv4-Adresse konfiguriert. Wenn die gemeinsam genutzten Tools über eine IPv6-Adressierung erreicht werden können, dann ist der VNIC312C mit einer IPv6-Adresse konfiguriert. - Generell können alle oder einige Kombinationen der virtuellen Komponenten, die in diesen Figuren dargestellt sind, in einem Template für eine VM für einen Kunden spezifiziert sein. Wenn ein Kunde ein erstes Mal versorgt werden soll, wiederversorgt werden soll oder die Kundenumgebung sich geändert hat, behält die Erzeugung und Konfiguration der virtuellen Komponenten – wie beschrieben – die Sicherheit der Kunden-Domäne, ohne Bedenken für überlappende Kundenadressbereiche und ohne die Notwendigkeit für Hardware-Modifikationen in der VME.
-
4 beschreibt ein Flussdiagramm für einen Beispielprozess für eine Bereitstellung einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung entsprechend einem dargestellten Ausführungsbeispiel. Der Prozess400 kann durch einen Administrations-Service – wie etwa einem der Administrations-Services207A von2 – implementiert werden. - Ein Administrations-Service beginnt den Prozess
400 durch eine Konfiguration eines Kunden-Servers als eine VM (Block402 ). Mehr als ein Kunden-Server kann einen Tier (engl. the tier) in einer Kunden-Domäne belegen. Beispielsweise können Web-Services einen Tier bilden, Datenbank-Services können einen anderen Tier bilden und Anwendungen können einen dritten Tier bilden. Jede beliebige Anzahl von Tiers sind in ähnlicher Weise möglich, ohne vom Umfang der dargestellten Ausführungsbeispiele abzuweichen. Der Administration-Service erzeugt drei virtuelle lokale Netzwerke (virtual local arean network – VLAN) für jeden Kunden-Server-Tier. Der Prozess400 wird unter Berücksichtigung eines Beispiel-Tier nur aus Gründen der Klarheit der Beschreibung und ohne eine Limitation der dargestellten Ausführungsbeispiele zu implizieren, beschrieben. - Dementsprechend konfiguriert der Administrations-Service einen ersten VNIC in der VM (Block
404 ). Der Administrations-Service konfiguriert den ersten VNIC mit einer Adresse von irgendeinem Adressbereich nach Kundenwahl unter der Erwartung eines reservierten Adressbereiches (Block406 ). Der Administrations-Service konfiguriert den ersten VNIC mit einem IPv4-TCP/IP-Stack und einem IPv6-TCP/IP-Stack (Block408 ). - Der Administrations-Service ermöglicht es einer Anwendung auf der VM, auf eine andere Anwendung auf einem anderen virtuellen Server des Kunden zuzugreifen, und zwar unter Nutzung des ersten VNIC und einer VFW/Router, um die Kommunikation zwischen den Kundenservern auch dann abzusichern, wenn ein Kunde einen Adressbereich nutzt, der mit dem Adressbereich eines anderen Kunden überlappt (Block
410 ). Der Administrations-Service beendet den Prozess400 oder springt aus dem Prozess400 am Exit-Punkt heraus, der mit „A” markiert ist, um in einen anderen Prozess – wie beispielsweise Prozess500 in5 – an einem korrespondierenden Eingangspunkt, der mit „A” markiert ist, zu springen. -
5 beschreibt ein Flussdiagramm eines anderen Beispielprozesses für eine Bereitstellung einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung in Übereinstimmung mit einem dargestellten Ausführungsbeispiel. Der Prozess500 kann in einem IPv4-Administrations-Service – wie etwa einem der Administrations-Services207A von2 – implementiert sein. - Ein Administrations-Service beginnt den Prozess
500 oder steigt in den Prozess500 an einem Eintrittspunkt ein, der mit „A” markiert ist, durch eine Konfiguration eines zweiten VNIC in der VM eines Kunden, wie etwa der VM, die in Block402 von4 (Block502 ) konfiguriert wurde. Der Administrations-Service konfiguriert den zweiten VNIC mit einer eindeutigen IPv6-Adresse des Kunden (Block504 ). Der Administrations-Service konfiguriert den zweiten VNIC mit einem IPv6-Stack (Block506 ). - Der Administrations-Service ermöglicht einen Zugriff auf die Kunden-VM von einem Administration-Server in einer gemeinsam genutzten Domäne in der VME unter Nutzung des zweiten VNIC und einer VFW/Router (Block
508 ). Der Administrations-Service beendet entweder den Prozess500 oder springt aus dem Prozess500 an einem Exit-Punkt heraus, der mit „B” markiert ist, um einen anderen Prozess, wie etwa Prozess600 aus6 an einem korrespondierenden Eingangspunkt, der mit „B” markiert ist, fortzusetzen. -
6 beschreibt ein Flussdiagramm eines anderen Beispielprozesses zur Bereitstellung einer sicheren Kunden-Domäne in eine virtualisierte Mehr-Mieter-Umgebung in Übereinstimmung mit einem dargestellten Ausführungsbeispiel. Der Prozess600 kann mittels eines Administrations-Service wie einem der Administrations-Services207A gemäß2 implementiert sein. - Ein Administrations-Service beginnt den Prozess
600 oder steigt in den Prozess600 bei einem Eintrittspunkt, der mit „B” markiert ist, ein durch eine Konfiguration eines dritten VNIC in der Kunden-VM, wie etwa der VM, die in Block402 von4 (Block602 ) konfiguriert wurde. Der Administrations-Service ermittelt, ob die IPv4- oder IPv6-Adressspezifikationen bei der Konfiguration des dritten VNIC (Block604 ) genutzt werden sollen. - Wenn eine IPv6-Adressierung für den dritten VNIC genutzt werden soll („IPv6”-Weg von Block
604 ) konfiguriert der Administrations-Service den dritten VNIC mit einer eindeutigen IPv6-Adresse des Kunden (Block606 ). Der Administrations-Service konfiguriert den dritten VNIC mit einem IPv6-TCP/IP-Stack (Block608 ). - Der Administrations-Service ermöglicht einen Zugriff auf ein gemeinsam genutztes Tool in der VME der Kunden-VM unter Nutzung des dritten VNIC und einer VFW/Router (Block
610 ). Danach beendet der Administrations-Service den Prozess500 . - Wenn eine IPv4-Adressierung für den dritten VNIC benutzt werden soll („IPv4”-Weg von Block
604 ), konfiguriert der Administrations-Service den dritten VNIC mit einer IPv4-Adresse aus dem vom Kunden gewählten IPv4-Adressbereich, der mit einem Adressbereich eines anderen Kunden aber nicht mit einem reservierten Adressbereich überlappen kann (Block612 ). Der Administrations-Service konfiguriert den dritten VNIC mit einem IPv4-TCP/IP-Stack (Block614 ). - Der Administrations-Service ermöglicht einen Zugriff auf ein gemeinsam genutztes Tool in der VME von der Kunden-VM unter Nutzung des dritten VNIC, eines Proxy, und einer VFW/Router (Block
616 ). Danach beendet der Administrations-Service den Prozess500 . - Das Flussdiagramm und die Blockdiagramme in den Figuren beschreiben die Architektur, Funktionalität und den Betrieb von möglichen Implementierungen von Systemen, Verfahren und Computer-Programm-Produkten entsprechend unterschiedlichen Ausführungsbeispielen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder Blockdiagrammen ein Modul, ein Segment, oder einen Code-Abschnitt repräsentieren, welcher eine oder mehrere ausführbare Instruktionen zur Implementierung der spezifizierten logischen Funktionen(en) aufweist. Es sei auch darauf hingewiesen, dass in einigen alternativen Implementierungen die Funktionen, die in dem Block dargestellt sind, in einer anderen Reihenfolge ausgeführt werden können als es in den Figuren dargestellt ist. Zum Beispiel können zwei Blöcke, die nacheinander dargestellt sind tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder Blöcke können manchmal in umgekehrter Reihenfolge – abhängig von der betroffenen Funktionalität – ausgeführt werden. Es sei auch darauf hingewiesen, dass jeder Block der Blockdiagramme und/oder Flussdiagramm-Darstellungen und Kombinationen von Blöcken in den Blockdiagrammen und/oder Flussdiagramm-Darstellungen durch speziell dafür vorgesehene Hardware-basierende Systeme implementiert sein können, welche die spezifizierten Funktionen oder Aktionen oder Kombinationen von speziell dafür vorgesehene Hardware und Computer-Instruktionen ausführen.
- Somit werden ein Computer-implementiertes Verfahren, ein System und ein Computer-Programm-Produkt durch die dargestellten Ausführungsbeispiele für eine Bereitstellung einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung vorgestellt. Ein Ausführungsbeispiel ist auf eine Bereitstellung an einen neuen Kunden, eine Wieder-Bereitstellung an einen Kunden oder Änderungen einer Bereitstellung für einen Kunden in einer VME bezogen, so dass die Kunden-Domäne mit Hinblick auf eine Kommunikation innerhalb und außerhalb der Kunden-Domäne abgesichert ist. Ein Ausführungsbeispiel gewährleistet die Sicherheit der Isolation von anderen Kunden-Domänen ohne Berücksichtigung von Adressbereichen, die durch andere Kunden in der VME genutzt werden. Ein Ausführungsbeispiel nutzt Virtualisierungskomponenten für eine Bereitstellung der sicheren Kunden-Domänen-Elemente. Im Ergebnis kann die Bereitstellung und Sicherheit einer Kunden-Domäne in einem größeren Ausmaß automatisiert werden als es derzeit möglich ist. Darüber hinaus kann jede der Änderung in der Kunden-Domäne, in den Administrations-Services oder in gemeinsam genutzten Tools der VME unterstützt werden, ohne dass Ergänzungen oder Änderungen an der Hardware erforderlich wären.
- Ein Fachmann wird verstehen, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computer-Programm-Produkt ausgeführt sein können. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Implementierung, einer reinen Software-Implementierung oder eines Ausführungsbeispiels (inklusive Firmware, permanent vorhandener Software, Micro-Code, usw.) bestehend aus einer Kombination aus Software- und Hardware-Aspekten, auf die im allgemeinen hier als ein „Schaltkreis”, ein „Modul” oder „System” Bezug genommen wird, annehmen. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computer-Programm Produktes annehmen, welches in einem oder mehreren Computer-lesbaren Speichervorrichtungen oder Computer-lesbaren Medien verkörpert ist, welches darin Computer-lesbaren Programmcode aufweist.
- Jede Kombination von einem oder mehreren Computer-lesbaren Speicher-Vorrichtung(en) oder Computer-lesbaren Medien können verwendet werden. Das Computer-lesbare Medium kann ein Computer-lesbares Speichermedium sein. Ein Computer-lesbares Speichermedium kann beispielsweise – ohne darauf beschränkt zu sein – ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleiter-System, ein Apparat oder eine Vorrichtung oder jede andere geeignete Kombination des Aufgezählten sein. Explizitere Beispiele (eine nicht erschöpfende Liste) von Computer-lesbaren Speichervorrichtungen kann Folgendes aufweisen: eine elektrische Verbindung mit zwei oder mehr Drähten, eine tragbarer Computer-Diskette, ein Festplattenlaufwerk, ein RAM (random access memory), ein Nur-Lese-Speicher (ROM), ein löschbarer und programmierbarer Nur-Lese-Speicher (EPROM, oder Flash-Memory), eine optische Faser, eine tragbare Compact Disc Read-Only Memory (CD-ROM), eine optische Speichervorrichtung, eine magnetische Speichervorrichtung oder irgend eine geeignete Kombination des Aufgezählten. Im Kontext dieses Dokumentes kann eine Computer-lesbare Speichervorrichtung jede konkrete Vorrichtung oder Medium sein, welches ein Programm zur Nutzung durch oder in Kombination mit einem Instruktionenausführenden System, Gerät oder Vorrichtung enthalten oder speichern kann.
- Programm-Code, der in einer Computer-lesbare Speichervorrichtung oder in einem Computer-lesbaren Medium verkörpert ist, kann unter Nutzung jedes geeigneten Mediums übertragen werden – inklusive aber nicht darauf beschränkt – drahtlos, drahtgebunden, durch ein optisches Glasfaserkabel, Hochfrequenzen, usw. oder jede geeignete Kombination des Aufgezählten.
- Computer-Programm-Code zum Ausführen von Operationen von Aspekten der vorliegenden Erfindung können in einer Kombination von einer oder mehreren Programmiersprachen geschrieben sein, inklusive einer Objekt-orientierten Programmiersprache, wie Java, Smalltalk, C++ oder ähnlichen oder konventionellen prozeduralen Programmiersprachen wie etwa der „C”-Programmiersprache oder ähnlichen Programmiersprachen. Der Programm-Code kann komplett auf dem Anwender-Computer, teilweise auf dem Anwender-Computer als alleinstehendes Softwarepaket, teilweise auf dem Anwender-Computer und teilweise auf einem entfernten Computer oder gänzlich auf dem entfernten Computer oder Server ausgeführt werden. In dem letzten Szenario kann der entfernte Computer mit dem Anwender-Computer durch jeder Art von Netzwerk verbunden sein, inklusive eines LAN (local area network), eines WAN (wide area network), oder eine Verbindung kann mit einem externen Computer hergestellt werden (beispielsweise durch das Internet unter Nutzung eines Internet Service Providers).
- Aspekte der vorliegenden Erfindung sind hierin unter Bezugname auf Flussdiagramme und/oder Blockdiagramm oder Verfahren, Geräte (Systeme) und Computer-Programm-Produkte entsprechend den Ausführungsbeispielen der Erfindung dargestellt. Es versteht sich, dass jeder Block der Flussdiagramm-Darstellung und/oder Blockdiagrammen und Kombinationen von Blöcken in den Flussdiagramm-Darstellung und/oder Blockdiagrammen durch Computer-Programm-Instruktionen implementiert sein kann. Diese Computer-Programm-Instruktionen können einem oder mehreren Prozessoren von einem oder mehreren General Purpose Computern, speziell ausgelegten Computern oder anderen programmierbaren Datenverarbeitungsvorrichtungen zur Verfügung gestellt werden, um eine Maschine zu erzeugen, so dass die Instruktionen, welche durch den einen oder die mehreren Prozessoren des Computers oder anderer programmierbare Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zur Implementierung der Funktionen/Aktionen erzeugen, die in dem Flussdiagramm und/oder Blockdiagrammblock oder Blöcken spezifiziert sind.
- Diese Computer-Programm-Instruktionen können außerdem auf einem oder mehreren Computer-lesbaren Speichervorrichtungen oder Computer-lesbaren Medien gespeichert sein, welche einen oder mehrere Computer, einen oder mehrere programmierbare Datenverarbeitungsvorrichtungen oder einen oder mehrere andere Vorrichtungen anweisen. in einer bestimmten Art zu arbeiten, so dass die Instruktionen, die in dem einen oder mehreren Computer lesbaren Speichervorrichtungen oder Computer lesbaren Medien gespeichert sind, einen Herstellungsartikel inklusive Instruktionen erzeugen, welcher die Funktion/Aktion, die in dem Flussdiagramm und/der dem Blockdiagrammblock oder den -blöcken spezifiziert sind, erzeugen, zu erzeugen.
- Die Computer-Programm-Instruktionen können auch auf einen oder mehrere Computer, einen oder mehrere programmierbare Datenverarbeitungsvorrichtungen, oder einen oder mehrere andere Vorrichtungen geladen werden, um eine Reihe von operativen Schritten zu bewirken, die auf dem einen oder mehreren Computer, dem einen oder mehreren programmierbaren Datenverarbeitungsvorrichtungen oder der einen oder mehreren anderen Vorrichtungen ausgeführt werden, um einen Computer-implementierten Prozess zu erzeugen, so dass die Instruktionen, welche auf dem einen oder mehreren Computern, der einen oder mehreren programmierbaren Datenverarbeitungsvorrichtung(en) oder dem einen oder mehreren Vorrichtungen Prozesse für eine Implementierung der Funktion/Aktion, die in dem Flussdiagramm und/oder Blockdiagrammblock oder -Blöcken spezifiziert ist.
- Die hier genutzte Terminologie dient nur zum Zwecke der Beschreibung von bestimmten Ausführungsbeispielen und ist nicht dazu bestimmt, den Umfang der Erfindung zu beschränken. Die hierin genutzte Singularform „ein”, „eine” und „der/die/das” sind auch dazu gedacht, gleichzeitig die Pluralformen zu erfassen, es sei denn, dass auf das Gegenteil hingewiesen wurde. Darüber hinaus wird man verstehen, dass die Begriffe „aufweisen” und/oder „umfassen”, wenn Sie in dieser Beschreibung genutzt werden, die Anwesenheit von erfassten Merkmalen, Zahlenangaben, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, während sie nicht die Anwesenheit oder das Auch-Vorhandensein von einem oder mehreren anderen Merkmalen, Zahlenangaben, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
- Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente all dieser Mittel oder Schritte plus funktionaler Elemente in den folgenden Ansprüchen sind dazu gedacht, jede Struktur, Material oder Aktion zur Ausführung der Funktion in Kombination mit oder anderen beanspruchten Elementen als ausdrücklich beansprucht umfassen. Die Beschreibung der vorliegenden Erfindung wurde für Zwecke der Illustration und Beschreibung dargelegt, dient aber nicht dazu, vollumfänglich oder limitierend in Bezug auf die Erfindung in der offenbarten Form zu wirken. Viele Modifikationen und Variationen ergeben sich für den Fachmann ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsbeispiele wurden ausgewählt und beschrieben, um bestmöglich die Prinzipien der Erfindung und die praktische Anwendung zu beschreiben und es anderen mit typischen Kenntnissen zu ermöglichen, die Erfindung mit unterschiedlichen Ausführungsbeispielen und mit unterschiedlichen Modifikationen, die für einen bestimmten dargestellten Gebrauch sinnvoll sind, zu verstehen.
Claims (20)
- Ein Verfahren zum Bereitstellen einer sicheren Kunden-Domäne in einer virtuellen Mehr-Mieter-Umgebung, wobei das Verfahren aufweist: – Konfigurieren, durch einen Prozessor, einer virtuellen Maschine (VM) für einen Kunden in der Kunden-Domäne; – Konfigurieren, durch den Prozessor, eines ersten virtuellen Netzwerk-Interface (VNIC) in der VM, wobei das erste VNIC es einer Anwendung auf der VM ermöglicht, auf eine zweite Anwendung in einer zweiten VM in der Kunden-Domäne zuzugreifen; – Zuweisen, durch den Prozessor, einer ersten Netzwerkadresse zu dem ersten VNIC, wobei die erste Netzwerkadresse innerhalb eines ersten Adressbereiches liegt, der für die Kunden-Domäne ausgewählt ist; – Konfigurieren, durch den Prozessor, eines zweiten VNIC in der VM, wobei das zweite VNIC es einer dritten Anwendung außerhalb der Kunden-Domäne ermöglicht, auf die VM in der Kunden-Domäne zuzugreifen, wobei daszweite VNIC konfiguriert ist, eine Adressierungsspezifikation zu nutzen, die von einem Server der dritten Anwendung verwendet wird; und – Konfigurieren, durch den Prozessor, eines dritten VNIC in der VM, wobei das dritte VNIC es der ersten Anwendung ermöglicht, auf eine vierte Anwendung zuzugreifen, die außerhalb der Kunden-Domäne ausgeführt wird, und wobei das dritte VNIC konfiguriert ist, um eine Adressierungsspezifikation zu nutzen, die von einem Server für die vierte Anwendung verwendet wird, wodurch eine Datenkommunikation, die der Kunden-Domäne zugehörig ist, gegenüber Einflüssen von einer Datenkommunikation, die einer zweiten Kunden-Domäne zugehörig ist, abgesichert ist.
- Das Verfahren gemäß Anspruch 1, wobei der erste Adressbereich mit einem zweiten Adressbereich überlappt, der für die zweite Kunden-Domäne ausgewählt ist.
- Das Verfahren gemäß Anspruch 1, wobei die erste Adresse eine IPv4-Adresse aufweist, und wobei der Zugriff auf die zweite Anwendung über einen ersten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Verfahren gemäß Anspruch 1, wobei die VM einen Tier in der Kunden-Domäne belegt, und wobei der Tier mindestens drei virtuelle Local-Area-Networks aufweist, wobei das Verfahren weiterhin aufweist: – Zuweisen, durch den Prozessor, einer zweiten Netzwerkadresse zu dem zweiten VNIC, wobei die zweite Netzwerkadresse eine IPv6-Adresse aufweist, und wobei der Zugriff von der dritten Anwendung über einen zweiten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Verfahren gemäß Anspruch 4, wobei der Zugriff auf die dritter Anwendung weiterhin durch eine erste Instanz eines Domain-Name-Service ermöglicht wird, der für die Kunden-Domäne erzeugt wird, wobei die erste Instanz des DNS ein Routing aufweist, welches für eine Administration der Kunden-Domäne autorisiert ist.
- Das Verfahren gemäß Anspruch 1, weiterhin aufweisend: – Zuweisen, durch den Prozessor, einer dritten Netzwerkadresse zu dem dritten VNIC, wobei die dritte Netzwerkadresse eine IPv6-Adresse aufweist, und wobei der Zugriff auf die vierte Anwendung über einen dritten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Verfahren gemäß Anspruch 1, weiterhin aufweisend: – Zuweisen, durch den Prozessor, einer dritten Netzwerkadresse zu dem dritten VNIC, wobei die dritte Netzwerkadresse im ersten Adressbereich liegt, der für die Kunden-Domäne ausgewählt ist, und wobei der erste Adressbereich mit einem zweiten Adressbereich überlappt, der für eine zweite Kunden-Domäne ausgewählt ist, und wobei der Zugriff auf die vierte Anwendung über einen dritten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Verfahren gemäß Anspruch 7, wobei der Zugriff auf die vierte Anwendung weiterhin durch eine zweite Instanz eines Domain-Name-Service ermöglicht wird, der für die Kunden-Domäne erzeugt wird, wobei die zweite Instanz des DNS ein Routing zu einem Satz von Shared-Anwendungen, die für die Kunden-Domäne verfügbar sind, aufweist.
- Das Verfahren gemäß Anspruch 1, wobei jedes von dem ersten VNIC, dem zweiten VNIC, und dem dritten VNIC auf einen virtualisierten I/O-Adapter in einem virtuellen I/O-Server abgebildet wird, und wobei der virtualisierte I/O-Adapter auf einen physikalischen I/O-Adapter abgebildet wird.
- Das Verfahren gemäß Anspruch 1, wobei einer von dem zweiten VNIC und dem dritten VNIC konfiguriert ist, um Jumbo-Frames während einer Software-Installation auf der VM zu nutzen.
- Ein Computer-Programm-Produkt aufweisend einen oder mehrere Computerlesbare konkrete Speichervorrichtungen oder Computer-lesbare Programm-Anweisungen, die in der einen oder den mehreren Speichervorrichtungen gespeichert sind, und die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, das Verfahren gemäß Anspruch 1 ausführen.
- Ein Computersystem aufweisend einen oder mehrere Prozessoren, ein oder mehrere Computer-lesbare Speicher, ein oder mehrere Computer-lesbare konkrete Speichervorrichtungen und Programm-Anweisungen, welche auf dem einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch den einen oder mehrere Prozessoren über den einen oder die mehreren Speicher und durch den einen oder die mehreren Prozessoren das Verfahren gemäß Anspruch 1 ausführen.
- Ein Computer-Programm-Produkt zur Bereitstellung einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung, wobei das Computer-Programm Produkt aufweist: – eine oder mehrere Computer-lesbare konkrete Speichervorrichtungen; – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Konfigurieren, einer virtuellen Maschine (VM) für einen Kunden in der Kunden-Domäne; – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Konfigurieren eines ersten virtuellen Netzwerk-Interface (VNIC) in der VM, wobei das erste VNIC es einer Anwendung auf der VM ermöglicht, auf eine zweite Anwendung in einer zweiten VM in der Kunden-Domäne zuzugreifen; – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Zuweisen einer ersten Netzwerkadresse zu dem ersten VNIC, wobei die erste Netzwerkadresse innerhalb eines ersten Adressbereiches liegt, der für die Kunden-Domäne ausgewählt ist; – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Konfigurieren eines zweiten VNIC in der VM, wobei das zweite VNIC es einer dritten Anwendung außerhalb der Kunden-Domäne ermöglicht, auf die VM in der Kunden-Domäne zuzugreifen, wobei der zweite VNIC konfiguriert ist, eine Adressierungsspezifikation zu nutzen, die von einem Server der dritten Anwendung verwendet wird; und – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Konfigurieren eines dritten VNIC in der VM, wobei das dritte VNIC es der ersten Anwendung ermöglicht, auf eine vierte Anwendung zuzugreifen, die außerhalb der Kunden-Domäne ausgeführt wird, und wobei das dritte VNIC konfiguriert ist, um eine Adressierungsspezifikation zu nutzen, die von einem Server für die vierte Anwendung verwendet wird, wodurch eine Datenkommunikation, die der Kunden-Domäne zugehörig ist, gegenüber Einflüssen von einer Datenkommunikation, die einer zweiten Kunden-Domäne zugehörig ist, abgesichert wird.
- Das Computer-Programm-Produkt gemäß Anspruch 13, wobei der erste Adressbereich mit einem zweiten Adressbereich überlappt, der für die zweite Kunden-Domäne ausgewählt ist.
- Das Computer-Programm-Produkt gemäß Anspruch 13, wobei die erste Adresse eine IPv4-Adresse aufweist, und wobei der Zugriff auf die zweite Anwendung über einen ersten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Computer-Programm-Produkt gemäß Anspruch 13, wobei die VM einen Tier in der Kunden-Domäne belegt, und wobei der Tier mindestens drei virtuelle Local-Area-Networks aufweist, weiterhin aufweist: – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Zuweisen, durch den Prozessor, einer zweiten Netzwerkadresse zu dem zweiten VNIC, wobei die zweite Netzwerkadresse eine IPv6-Adresse aufweist, und wobei der Zugriff von der dritten Anwendung über einen zweiten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Computer-Programm-Produkt gemäß Anspruch 16, wobei der Zugriff auf die dritter Anwendung weiterhin durch eine erste Instanz eines Domain-Name-Service ermöglicht wird, der für die Kunden-Domäne erzeugt wird, wobei die erste Instanz des DNS ein Routing aufweist, welches für eine Administration der Kunden-Domäne autorisiert ist.
- Das Computer-Programm-Produkt gemäß Anspruch 13, weiterhin aufweisend: – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Zuweisen einer dritten Netzwerkadresse zu dem dritten VNIC, wobei die dritte Netzwerkadresse eine IPv6-Adresse aufweist, und wobei der Zugriff auf die vierte Anwendung über einen Dritten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Das Verfahren gemäß Anspruch 1, weiterhin aufweisend: – Programm-Anweisungen, die auf mindestens einem der einen oder der mehreren Speichervorrichtungen gespeichert sind, zum Zuweisen einer dritten Netzwerkadresse zu dem dritten VNIC, wobei die dritte Netzwerkadresse im ersten Adressbereich liegt, der für die Kunden-Domäne ausgewählt ist, und wobei der erste Adressbereich mit einem zweiten Adressbereich überlappt, der für eine zweite Kunden-Domäne ausgewählt ist, und wobei der Zugriff auf die vierte Anwendung über einen Dritten virtuellen Router ermöglicht wird, der in der Kunden-Domäne instanziiert ist.
- Ein Computersystem, zum Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung, wobei das Computersystem aufweist: – einen oder mehrere Prozessoren, einen oder mehrere Computer-lesbare Speicher und einen oder mehrere Computer-lesbare konkrete Speichervorrichtungen; – Programm-Anweisungen, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um eine virtuelle Maschine (VM) für einen Kunden in der Kunden-Domäne zu konfigurieren; – Programm-Anweisungen, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um ein erstes virtuelles Netzwerk-Interface (VNIC) in der VM zu konfigurieren, wobei das erste VNIC es einer Anwendung auf der VM ermöglicht, auf eine zweite Anwendung in einer zweiten VM in der Kunden-Domäne zuzugreifen; – Programm-Anweisungen, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um eine erste Netzwerkadresse zu dem ersten VNIC zuzuweisen, wobei die erste Netzwerkadresse innerhalb eines ersten Adressbereiches liegt, der für die Kunden-Domäne ausgewählt ist; – Programm-Anweisungen, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um ein zweites VNIC in der VM zu konfigurieren, wobei das zweite VNIC es einer dritten Anwendung außerhalb der Kunden-Domäne ermöglicht, auf die VM in der Kunden-Domäne zuzugreifen, wobei das zweite VNIC konfiguriert ist, eine Adressierungsspezifikation zu nutzen, die von einem Server der dritten Anwendung verwendet wird; und – Programm-Anweisungen, die in mindestens einer der einen oder mehreren Speichervorrichtungen gespeichert sind, zur Ausführung durch mindestens einen der einen oder mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher, um eine drittes VNIC in der VM zu konfigurieren, wobei das dritte VNIC es der ersten Anwendung ermöglicht, auf eine vierte Anwendung zuzugreifen, die außerhalb der Kunden-Domäne ausgeführt wird, und wobei der dritte VNIC konfiguriert ist, um eine Adressierungsspezifikation zu nutzen, die von einem Server für die vierte Anwendung verwendet wird, wodurch eine Datenkommunikation, die der Kunden-Domäne zugehörig ist, gegenüber Einflüssen von einer Datenkommunikation, die einer zweiten Kunden-Domäne zugehörig ist, abgesichert ist.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/916,682 US9135042B2 (en) | 2013-06-13 | 2013-06-13 | Provisioning a secure customer domain in a virtualized multi-tenant environment |
USUS-13/916,682 | 2013-06-13 | ||
US13/916,682 | 2013-06-13 | ||
PCT/JP2014/003042 WO2014199611A1 (en) | 2013-06-13 | 2014-06-06 | Provisioning a secure customer domain in a virtualized multi-tenant environment |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112014002799T5 true DE112014002799T5 (de) | 2016-03-10 |
DE112014002799B4 DE112014002799B4 (de) | 2020-02-20 |
Family
ID=52020442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112014002799.5T Active DE112014002799B4 (de) | 2013-06-13 | 2014-06-06 | Bereitstellen einer sicheren Kundendomäne in einer virtualisierten Mehr-Mieter-Umgebung |
Country Status (6)
Country | Link |
---|---|
US (1) | US9135042B2 (de) |
JP (1) | JP6410735B2 (de) |
CN (1) | CN105283880B (de) |
DE (1) | DE112014002799B4 (de) |
GB (1) | GB2529367B (de) |
WO (1) | WO2014199611A1 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11477278B2 (en) * | 2014-06-24 | 2022-10-18 | Oracle International Corporation | System and method for supporting partitions in a multitenant application server environment |
US9547516B2 (en) | 2014-08-22 | 2017-01-17 | Nicira, Inc. | Method and system for migrating virtual machines in virtual infrastructure |
CN104461726B (zh) | 2014-12-31 | 2019-01-15 | 宇龙计算机通信科技(深圳)有限公司 | 操作系统的显示方法、操作系统的显示装置和终端 |
US10491667B1 (en) | 2015-03-16 | 2019-11-26 | Amazon Technologies, Inc. | Customized memory modules in multi-tenant service provider systems |
WO2017030607A1 (en) * | 2015-08-17 | 2017-02-23 | Five9, Inc. | Systems and methods for establishing a control channel between a virtualization server and a client device |
WO2017189931A1 (en) * | 2016-04-28 | 2017-11-02 | Kandou Labs, S.A. | Vector signaling codes for densely-routed wire groups |
US10545771B2 (en) | 2016-12-02 | 2020-01-28 | International Business Machines Corporation | Concurrent maintenance of an input/output adapter backing a virtual network interface controller |
US10735541B2 (en) | 2018-11-30 | 2020-08-04 | Vmware, Inc. | Distributed inline proxy |
EP3694173B1 (de) * | 2019-02-08 | 2022-09-21 | Palantir Technologies Inc. | Isolieren von anwendungen, die mehreren mandanten innerhalb einer computerplattform zugeordnet sind |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826616B2 (en) * | 1998-10-30 | 2004-11-30 | Science Applications International Corp. | Method for establishing secure communication link between computers of virtual private network |
US8924524B2 (en) * | 2009-07-27 | 2014-12-30 | Vmware, Inc. | Automated network configuration of virtual machines in a virtual lab data environment |
WO2007132850A1 (ja) * | 2006-05-15 | 2007-11-22 | Visionarts, Inc. | ネットワーク情報処理方法及びシステム |
US7941539B2 (en) * | 2008-06-30 | 2011-05-10 | Oracle America, Inc. | Method and system for creating a virtual router in a blade chassis to maintain connectivity |
US8291414B2 (en) | 2008-12-11 | 2012-10-16 | International Business Machines Corporation | Shared resource service provisioning using a virtual machine manager |
US8369333B2 (en) | 2009-10-21 | 2013-02-05 | Alcatel Lucent | Method and apparatus for transparent cloud computing with a virtualized network infrastructure |
CN102170457A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 向应用的多租户提供服务的方法和装置 |
US8345692B2 (en) * | 2010-04-27 | 2013-01-01 | Cisco Technology, Inc. | Virtual switching overlay for cloud computing |
US8407366B2 (en) | 2010-05-14 | 2013-03-26 | Microsoft Corporation | Interconnecting members of a virtual network |
JP5691062B2 (ja) | 2011-04-04 | 2015-04-01 | 株式会社日立製作所 | 仮想計算機の制御方法及び管理計算機 |
JP2012243255A (ja) * | 2011-05-24 | 2012-12-10 | Intelligent Willpower Corp | バーチャルマシン提供システム |
CN103444135B (zh) | 2011-06-02 | 2016-10-12 | 慧与发展有限责任合伙企业 | 网络虚拟化方法和虚拟化网络 |
US9054886B2 (en) * | 2011-07-11 | 2015-06-09 | Oracle International Corporation | System and method for using a multicast group to support a flooding mechanism in a middleware machine environment |
US9900224B2 (en) * | 2011-08-04 | 2018-02-20 | Midokura Sarl | System and method for implementing and managing virtual networks |
US8589481B2 (en) * | 2011-09-14 | 2013-11-19 | Microsoft Corporation | Multi tenant access to applications |
US20130159429A1 (en) * | 2011-12-19 | 2013-06-20 | Microsoft Corporation | Sharing and transferring message content between users |
CN102571821A (zh) * | 2012-02-22 | 2012-07-11 | 浪潮电子信息产业股份有限公司 | 一种云安全访问控制模型 |
-
2013
- 2013-06-13 US US13/916,682 patent/US9135042B2/en not_active Expired - Fee Related
-
2014
- 2014-06-06 DE DE112014002799.5T patent/DE112014002799B4/de active Active
- 2014-06-06 JP JP2015558292A patent/JP6410735B2/ja active Active
- 2014-06-06 CN CN201480032800.XA patent/CN105283880B/zh active Active
- 2014-06-06 WO PCT/JP2014/003042 patent/WO2014199611A1/en active Application Filing
- 2014-06-06 GB GB1522203.7A patent/GB2529367B/en active Active
Also Published As
Publication number | Publication date |
---|---|
GB2529367A (en) | 2016-02-17 |
CN105283880A (zh) | 2016-01-27 |
DE112014002799B4 (de) | 2020-02-20 |
US20140373007A1 (en) | 2014-12-18 |
JP6410735B2 (ja) | 2018-10-24 |
GB201522203D0 (en) | 2016-01-27 |
JP2016524195A (ja) | 2016-08-12 |
GB2529367B (en) | 2016-08-03 |
US9135042B2 (en) | 2015-09-15 |
WO2014199611A1 (en) | 2014-12-18 |
CN105283880B (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112014002799B4 (de) | Bereitstellen einer sicheren Kundendomäne in einer virtualisierten Mehr-Mieter-Umgebung | |
DE112016006080B4 (de) | Verwaltung von virtuellen desktopinstanzenpools | |
DE112012001198B4 (de) | Verfahren zum Bereitstellen ortsunabhängigen Anschlussspiegelns auf verteilten virtuellen Switches | |
DE112011103082B4 (de) | Mehrere virtuelle Maschinen mit gemeinsamer Nutzung einer einzigen IP-Adresse | |
DE112016001657T5 (de) | Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke | |
DE112021006003T5 (de) | Intelligente datenebenenbeschleunigung durch auslagern zu verteilten smart- network-interfaces | |
DE102011103218B4 (de) | Systeme, Verfahren und Vorrichtung zum Virtualisieren von TPM- Zugriffen | |
DE112012004550B4 (de) | Verfahren, System und Vorrichtung zur Zustandsmigration für einen Remote Direct Memory Access-Adapter in einer virtuellen Umgebung | |
DE112018004349T5 (de) | Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen | |
DE112011103875T5 (de) | Netzwerkschnittstelle zum Bereitstellen/erneuten Bereitstellen elner Partition in einer Cloud-Umgebung | |
DE202016008868U1 (de) | Mehrschichtige Dienstgüte (Quality of Service, QoS) für Plattformen zur Virtualisierung von Netzwerkfunktionen | |
DE112012002404B4 (de) | Konfiguration und Management virtueller Netzwerke | |
DE112012003336B4 (de) | Optimiertes Cachespeichern von Umsetzungseinträgen für virtuelle Funktionen | |
DE112011103522T5 (de) | Erstellung eines Multidimensionalen Modells von Software-Angeboten | |
DE112016004347T5 (de) | Lokale und globale Datenzentrumsnetzoptimierungen in Echtzeit basierend auf Plattformtelemetriedaten | |
DE112010004160T5 (de) | Portieren virtueller Abbilder zwischen Plattformen | |
DE112012003776T5 (de) | Migration logischer Partitionen mit zustandsbehafteten Auslagerungsdatenverbindungen während des laufenden Betriebs unter Verwendung der Kontextherauslösung und -einfügung | |
DE102009031126A1 (de) | Aktivieren der funktionalen Abhängigkeit in einem Multifunktionsgerät | |
DE112012003342T5 (de) | Dynamisches Anpassen und Begrenzen der Größe des Netzwerkadapterspeichers zur Speicherung von Umsetzungseinträgen für virtuelle Funktionen | |
DE112020000280B4 (de) | Transparente interpretation von gastbefehlen in einer sicheren virtuellen maschinenumgebung | |
DE112020000223B4 (de) | Gemeinsame speichernutzung zwischen einer sicheren domäne und einer nicht sicheren entität | |
DE102018202432A1 (de) | Strukturunterstützung für die Dienstgüte | |
DE112020000303T5 (de) | Testen von speicherschutz-hardware in einer umgebung einer sicheren virtuellen maschine | |
DE202014010925U1 (de) | Dienstbrücken | |
DE112022003720T5 (de) | Verwenden eines fernen pods in kubernetes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: KYNDRYL, INC., NEW YORK, US Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP., ARMONK, N.Y., US |
|
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: RICHARDT PATENTANWAELTE PARTG MBB, DE Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R084 | Declaration of willingness to licence | ||
R020 | Patent grant now final | ||
R082 | Change of representative |
Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE |
|
R081 | Change of applicant/patentee |
Owner name: KYNDRYL, INC., NEW YORK, US Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US |