-
HINTERGRUND
-
Ein Betriebssystem-Image (OS-Image) besteht aus einer Datei oder einem Satz von Dateien, die den ausführbaren Code des Betriebssystems enthalten, sowie aus Datendateien, die auf einem oder mehreren Computersystemen, z. B. Servern, bereitgestellt werden sollen. Die Bereitstellung eines Betriebssystem-Images auf Servern innerhalb eines Rechenzentrums wird in der Regel von einem Imaging-Dienst durchgeführt, der die Server mit kompatiblen Betriebssystem-Images versorgt.
-
Figurenliste
-
In den folgenden Zeichnungen werden gleiche Referenznummern verwendet, um auf gleiche Elemente zu verweisen. Obwohl in den folgenden Abbildungen verschiedene Beispiele dargestellt sind, sind eine oder mehrere Implementierungen nicht auf die in den Abbildungen dargestellten Beispiele beschränkt.
- 1 veranschaulicht eine Ausführungsform eines Rechenzentrums.
- 2 ist ein Blockdiagramm, das eine Ausführungsform einer OS-Image-Installationsumgebung zeigt.
- 3 ist ein Blockdiagramm, das eine Ausführungsform eines Controllers zeigt.
- 4 ist ein Flussdiagramm, das eine Ausführungsform eines Bereitstellungsprozesses zeigt.
- 5 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zeigt, das von einem Controller ausgeführt wird.
-
DETAILLIERTE BESCHREIBUNG
-
Rechenzentren verwenden typischerweise Bilddienste, um Rechenressourcen (z. B. Server) mit Betriebssystem-Images zu versorgen. Typischerweise werden die Image-Dienste von einem Rechengerät bereitgestellt, das über ein Multi-Drop-Netzwerk mit den Servern des Rechenzentrums verbunden ist. Somit erhält jeder Server ein Betriebssystem-Image über das gleiche Netzwerk. Eine solche Installationsumgebung ist unsicher, da jedes eingesetzte Betriebssystem-Image für jedes mit dem Netzwerk verbundene Gerät zugänglich ist.
-
In Ausführungsformen wird eine OS-Image-Umgebung bereitgestellt. In solchen Ausführungsformen wird ein einmaliger Image-Dienst erzeugt, um einen bestimmten Server mit einem Betriebssystem-Image über eine sichere Eins-zu-eins-Netzwerkverbindung zu versorgen. In weiteren Ausführungsformen umfasst ein Image-Service einen OS-Image-Service-Container. In noch weiteren Ausführungsformen wird der Image-Dienst als Reaktion auf den Empfang einer Anforderung zur Bereitstellung eines Servers mit einem ausgewählten Betriebssystem-Image generiert. Anschließend greift der Server auf den Inhalt des OS-Imaging-Service-Containers zu und lädt ihn herunter. In noch einer weiteren Ausführungsform wird der Image-Dienst entfernt (oder gelöscht), sobald der Server bereitgestellt wurde.
-
In der folgenden Beschreibung werden zu Erklärungszwecken zahlreiche spezifische Details aufgeführt, um ein umfassendes Verständnis der vorliegenden Erfindung zu ermöglichen. Dem Fachmann wird jedoch klar sein, dass die vorliegende Erfindung auch ohne einige dieser spezifischen Details ausgeführt werden kann. In anderen Fällen sind bekannte Strukturen und Vorrichtungen in Form von Blockdiagrammen dargestellt, um die zugrundeliegenden Prinzipien der vorliegenden Erfindung nicht zu verdecken.
-
Die Bezugnahme in der Spezifikation auf „eine Ausführungsform“ oder „eine Ausführungsform“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die im Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der Erfindung enthalten ist. Das Auftreten der Formulierung „in einer Ausführungsform“ an verschiedenen Stellen der Spezifikation bezieht sich nicht notwendigerweise alle auf die gleiche Ausführungsform.
-
In diesem Dokument können Begriffe wie „Logik“, „Komponente“, „Modul“, „Engine“, „Modell“ und dergleichen austauschbar verwendet werden und umfassen beispielsweise Software, Hardware und/oder eine beliebige Kombination aus Software und Hardware, wie z. B. Firmware. Darüber hinaus ist die Verwendung einer bestimmten Marke, eines bestimmten Worts, Begriffs, Satzes, Namens und/oder Akronyms nicht so zu verstehen, dass Ausführungsformen auf Software oder Geräte beschränkt sind, die diese Bezeichnung in Produkten oder in Literatur außerhalb dieses Dokuments tragen.
-
Es ist vorgesehen, dass eine beliebige Anzahl und Art von Komponenten hinzugefügt und/oder entfernt werden kann, um verschiedene Ausführungsformen zu ermöglichen, einschließlich des Hinzufügens, Entfernens und/oder Verbesserns bestimmter Funktionen. Aus Gründen der Kürze, der Klarheit und des besseren Verständnisses werden viele der standardmäßigen und/oder bekannten Komponenten, wie z. B. die eines Computergeräts, hier nicht gezeigt oder diskutiert. Es wird davon ausgegangen, dass die hier beschriebenen Ausführungsformen nicht auf eine bestimmte Technologie, Topologie, ein bestimmtes System, eine bestimmte Architektur und/oder einen bestimmten Standard beschränkt sind und dynamisch genug sind, um künftige Änderungen zu übernehmen und sich an diese anzupassen.
-
In 1 ist eine Ausführungsform eines Rechenzentrums 100 dargestellt. Wie in 1 dargestellt, umfasst das Rechenzentrum 100 ein oder mehrere Rechengeräte 101, die Servercomputer sein können, die als Host für das Rechenzentrum 100 dienen. In Ausführungsformen kann die Rechenvorrichtung 101 (ohne Einschränkung) Servercomputer (z. B. Cloud-Server-Computer usw.), Desktop-Computer, clusterbasierte Computer, Set-Top-Boxen (z. B. internetbasierte Kabelfernseh-Set-Top-Boxen usw.) usw. umfassen. Das Computergerät 101 enthält ein Betriebssystem („OS“) 106, das als Schnittstelle zwischen einer oder mehreren Hardware-/physikalischen Ressourcen des Computergeräts 101 und einem oder mehreren Client-Geräten (nicht dargestellt) dient. Das Computergerät 101 umfasst außerdem Prozessor(en) 102, Speicher 104, Eingabe-/Ausgabequellen 108, wie z. B. Touchscreens, Touchpanels, Touchpads, virtuelle oder reguläre Tastaturen, virtuelle oder reguläre Mäuse usw.
-
In einer Ausführungsform umfasst das Computergerät 101 einen Servercomputer, der außerdem mit einer oder mehreren Datenbanken oder Speicherplätzen kommunizieren kann, die sich lokal oder entfernt über ein oder mehrere Netzwerke (z. B. Cloud-Netzwerk, Internet, Proximity-Netzwerk, Intranet, Internet der Dinge („IoT“), Cloud of Things („CoT“) usw.) befinden können. Das Computergerät 101 kann über ein oder mehrere Netzwerke mit einer beliebigen Anzahl und Art von anderen Computergeräten in Verbindung stehen.
-
Gemäß einer Ausführungsform implementiert das Computergerät 101 eine Virtualisierungsinfrastruktur 110, um die Virtualisierung einer Vielzahl von Host-Ressourcen (oder Virtualisierungshosts) im Rechenzentrum 100 bereitzustellen. In einer Ausführungsform wird die Virtualisierungsinfrastruktur 110 über eine virtualisierte Rechenzentrumsplattform (einschließlich z. B. eines Hypervisors) implementiert, wie z. B. VMware vSphere oder eine Linux-Kernel-basierte virtuelle Maschine. Andere Ausführungsformen können jedoch andere Arten von virtualisierten Rechenzentrumsplattformen implementieren. Das Computergerät 101 ermöglicht auch den Betrieb einer Netzwerk-Switching-Fabric. In einer Ausführungsform ist die Netzwerk-Switching-Fabric eine softwaredefinierte Transport-Fabric, die Konnektivität zwischen den Host-Ressourcen innerhalb der Virtualisierungsinfrastruktur 110 bereitstellt.
-
Gemäß einer Ausführungsform umfasst die Netzwerk-Switching-Fabric physische Infrastrukturgeräte, zu denen eine Vielzahl von Racks gehört. Typischerweise umfasst ein Rack einen Metallrahmen, um eine standardisierte Struktur für die Montage verschiedener Rack-Geräte bereitzustellen, z. B. Server, Modems, Speichersysteme, Router und andere Geräte, wie z. B. Stromversorgungs-, Kühlungs- und Kabelmanagement-Ressourcen, unter anderem. Rack-Server müssen typischerweise vor der Inbetriebnahme mit einem Betriebssystem ausgestattet werden. Dementsprechend sind ein oder mehrere Controller 140 vorgesehen, um Betriebssystem-Images für Rack-Server im Rechenzentrum 100 bereitzustellen.
-
In einer Ausführungsform erzeugt ein Controller 140 einen separaten Imaging-Dienst zur Bereitstellung eines Servers. In einer solchen Ausführungsform umfasst der Imaging-Dienst einen Container, der ein Betriebssystem-Image (oder einen Betriebssystem-Image-Container) enthält. Wie hierin definiert, umfasst ein Betriebssystem-Image-Container eine Standard-Softwareeinheit, die ein Betriebssystem-Image und alle Abhängigkeiten verpackt, um den Betrieb eines Betriebssystems von einer Computerumgebung zu einer anderen zu ermöglichen. In einer weiteren Ausführungsform ist der Imaging-Service (oder Imaging-Service-Container) eine isolierte Installationsumgebung, die zur Bereitstellung eines einzelnen Servers mit einem Betriebssystem implementiert ist. Somit bietet der Imaging-Service-Container eine Eins-zu-eins-Umgebung, die die Übertragung von Containerinhalten direkt auf einen Server über eine isolierte (z. B. sichere) Netzwerkverbindung ermöglicht.
-
2 ist ein Blockdiagramm, das eine Ausführungsform einer OS-Image-Installationsumgebung 200 zeigt. Wie in 2 dargestellt, umfasst die Umgebung 200 ein Steuergerät 140, das über ein Netzwerk 205 mit einem Portal 210 und über die Netzwerke 225 und 255 mit einem Server 280 verbunden ist. Gemäß einer Ausführungsform umfasst die Steuerung 140 eine Schnittstelle 201, um die Kopplung mit dem Portal 210 über das Netzwerk 205 zu erleichtern, wobei das Netzwerk 205 das Internet umfassen kann. In einer solchen Ausführungsform ist das Portal 210 implementiert, um OS-Bildcontainer zu erzeugen und über das Netzwerk 205 und die Schnittstelle 201 an die Steuerung 140 zu übertragen. In einer weiteren Ausführungsform kann das Portal 210 OS-Bilder an die Steuerung 140 übertragen, wo die OS-Bildcontainer anschließend generiert werden können. In einer Ausführungsform kann ein Bediener am Portal 210 die OS-Bildcontainer bei der Bildsteuerung 140 registrieren.
-
In einer weiteren Ausführungsform sind Controller 140 und Server 280 im selben Rack enthalten. In einer solchen Ausführungsform umfasst Controller 140 einen Rack-Controller, der die verschiedenen Geräte im Rack, einschließlich Server 280, verwaltet. Somit kann Controller 140 vorhandene Schnittstellen mit Server 280 implementieren, ohne zusätzliche Ressourcen bereitstellen zu müssen.
-
3 zeigt eine Ausführungsform des Controllers 140 mit einem Imaging-Service 310, einem Image-Cache 320 und einem Container-Treiber 330. Wie oben erwähnt, umfasst der Bildgebungsdienst 310 einen Container, der zur Bereitstellung eines Betriebssystem-Images (z. B. zur Erstellung einer Instanz eines Betriebssystems) auf dem Server 280 verwendet wird. Der Image-Cache 320 ist implementiert, um registrierte OS-Image-Container zu speichern, die ausgewählt werden können, um im Imaging-Service 310 implementiert zu werden. Gemäß einer Ausführungsform ist der Containertreiber 330 implementiert, um einen Bilddienst 310 zu erzeugen. In einer solchen Ausführungsform erzeugt der Containertreiber 330 einen Bildgebungsdienst 310, indem er einen OS-Image-Container auswählt und die OS-Image-Container als einen Bildgebungsdienst 310 einrichtet, um einen Server 280 bereitzustellen. In einer weiteren Ausführungsform implementiert der Containertreiber 330 eine Virtualisierung auf Betriebssystemebene, um den Imaging-Dienst 310 einzurichten. In einigen Ausführungsformen kann der Containertreiber 330 über Docker-Software implementiert werden. In anderen Ausführungsformen kann der Containertreiber 330 jedoch mit anderen Virtualisierungssoftwareprodukten (z. B. einer virtuellen Maschine, Kubernetes usw.) implementiert werden.
-
In einer Ausführungsform enthält der Imaging-Dienst 310 alle Software, Konfigurationsdateien, Bibliotheken und Metadaten, die für die Bereitstellung eines Betriebssystem-Images auf dem Server 280 benötigt werden. In dieser Ausführungsform können die Metadaten Informationen wie Bilddateigröße, Dateisignaturen, Betriebssystemversion, Art der Verwendung des Betriebssystems, Servertypen, auf denen das Betriebssystem läuft, usw. umfassen. In einer weiteren Ausführungsform können die Metadaten einen oder mehrere Servertypen angeben, mit denen ein bestimmtes Betriebssystem-Image kompatibel sein kann. Die Metadaten werden also verwendet, um zu bestimmen, welches Betriebssystem-Image auf welchen Server angewendet werden kann. Zusätzlich führt der Containertreiber 330 eine Integritätsprüfung an einem ausgewählten OS-Image-Container durch, bevor er den Container als Imaging-Dienst 310 einrichtet. Beispielsweise wird eine Prüfsumme oder eine Hash-Operation für den Inhalt des Betriebssystem-Image-Containers durchgeführt, um zu überprüfen, dass der Container nicht manipuliert wurde.
-
Zurück zu 2: Das Steuergerät 140 ist auch über ein zweites Netzwerk 225 mit dem Server 280 verbunden. In einer Ausführungsform umfasst die Steuereinheit 140 eine Schnittstelle 221, die mit dem Netzwerk 225 gekoppelt ist. Wie in 3 gezeigt, enthält die Steuereinheit 140 einen Dateiserver 340, der implementiert ist, um den Inhalt des Bildgebungsdienstes 310 (z. B. das Betriebssystem-Image, Konfigurationsdateien, Metadaten usw.) über das Netzwerk 225 an den Server 280 zu übertragen, um das Betriebssystem auf dem Server 280 bereitzustellen. Gemäß einer Ausführungsform enthält der Server 280 auch eine Schnittstelle 281 (z. B. eine Netzwerkschnittstellenkarte (NIC)), die mit dem Netzwerk 225 gekoppelt ist, um die Inhalte des Bildgebungsdienstes 310 vom Dateiserver 340 zu empfangen. In einer Ausführungsform baut der Server 280 eine sichere Verbindung (z. B. ein virtuelles lokales Netzwerk (VLAN)) über das Netzwerk 225 auf, um Daten vom Bildgebungsdienst 310 zu übertragen. Somit umfasst das Netzwerk 225 ein isoliertes Netzwerk zwischen Controller und Server 280.
-
Wie in 2 dargestellt, umfasst der Controller 140 außerdem eine Schnittstelle 251, die über ein drittes Netzwerk 255 (z. B. ein Managementnetzwerk) mit einem Baseboard Management Controller (BMC) 221 am Server 280 verbunden ist. BMC 221 umfasst eine Verwaltungsschnittstelle, die die Konfiguration des Boot-Modus am Server 280 sowie das Ein- und Ausschalten und Booten des Servers durch Controller 140 über das Netzwerk 255 ermöglicht. Gemäß einer Ausführungsform können die Netzwerkschnittstellen 201, 221 und 251 über Hardware (z. B. NIC) oder über Software implementiert werden.
-
Bezug nehmend auf 3 enthält der Controller 140 einen BMC-Treiber 350, um einen Bootvorgang (z. B. über eine Preboot eXecution Environment (PXE), wie z. B. den Unified Extensible Firmware Interface (UEFI)-Standard) am Server 280 über das Netzwerk 255 zu initiieren. Zusätzlich ist der BMC-Treiber 350 implementiert, um den Server 280 über das Netzwerk 255 einzuschalten. Infolgedessen ist BMC 221 so konfiguriert, dass es die vom BMC-Treiber 350 initiierten Einschalt- und Boot-Vorgänge durchführt.
-
Gemäß einer Ausführungsform erleichtert der Controller 140 die Bereitstellung eines Betriebssystem-Images, indem er eine Instanz des Bildgebungsdienstes 310 (oder einen Bildgebungsdienst-Container) speziell für die Bereitstellung des Servers 280 erzeugt. In einer solchen Ausführungsform erzeugt der Containertreiber 330 den Imaging-Service-Container als Reaktion auf die Auswahl eines Betriebssystem-Images, das mit dem Server 280 kompatibel ist, der bereitgestellt werden soll. Anschließend richtet der BMC-Treiber 350 einen Server 280-Boot ein, indem er eine Übertragung (z. B. über ein PXE/FI-Boot HyperText Transfer Protocol (HTTP)) zum BMC 221 über das Netzwerk 255 vornimmt.
-
In einer Ausführungsform enthält die Übertragung Informationen zur Identifizierung des Bildgebungsdienst-Containers (z. B. eine eindeutige Kennung) sowie TLS-Zertifikate (Transport Layer Security), die zum Aufbau einer sicheren Kommunikationsverbindung verwendet werden. Zusätzlich enthält die Übertragung einen Installationsdienst-Kernel (oder Installer). Nach der HTTP-Übertragung schaltet der BMC-Treiber 350 den Server 280 mit BMC 221 ein.
-
Sobald der Server 280 eingeschaltet ist, führt er das Installationsprogramm aus, um die Betriebssystembereitstellung und -installation zu starten. 4 ist ein Flussdiagramm, das eine Ausführungsform eines vom Installationsprogramm durchgeführten Bereitstellungsprozesses zeigt. Im Verarbeitungsblock 410 wird eine sichere Kommunikationsverbindung (z. B. VLAN) mit dem Dateiserver 340 unter Verwendung der empfangenen TLS-Zertifikate hergestellt. Im Verarbeitungsblock 420 wird die Hardwarekompatibilität des Servers 280 mit dem Betriebssystem-Image überprüft, das im Container des Bildgebungsdienstes enthalten ist. In einer Ausführungsform wird die Überprüfung anhand der Container-Metadaten durchgeführt.
-
Im Verarbeitungsblock 430 wird das Festplattenlaufwerk des Servers 280 für das Booten eingerichtet. In einer Ausführungsform umfasst das Einrichten des Serverlaufwerks das Erstellen von Datenträgern und das Installieren eines Bootloader-Pakets (z. B. GNU GRand Unified Bootloader (GRUB)). Im Verarbeitungsblock 440 wird über die sichere Kommunikationsverbindung auf den Imaging-Service-Container zugegriffen. Im Verarbeitungsblock 450 wird das Betriebssystem auf dem Server 280 installiert. In einer Ausführungsform wird das Betriebssystem durch Herunterladen der Inhalte (z. B. Betriebssystem-Image, Konfigurationsdatei usw.) aus dem Imaging-Service-Container und Schreiben auf das Festplattenlaufwerk installiert.
-
5 ist ein Flussdiagramm, das eine Ausführungsform eines von der Steuerung 140 durchgeführten Verfahrens zeigt. Im Verarbeitungsblock 510 wird eine Anforderung für eine Betriebssysteminstallation auf einem Server empfangen. Im Verarbeitungsblock 520 wird ein Bildgebungsdienst-Container erzeugt. Wie oben beschrieben, kann der Imaging-Service-Container einen Betriebssystem-Image-Container umfassen, der aus einer Vielzahl von gespeicherten Betriebssystem-Image-Containern ausgewählt wird, die mit dem Server kompatibel sind. In Verarbeitungsblock 530 wird ein Bootvorgang auf dem Server durch Übertragen von Daten über ein BMC-Netzwerk eingestellt. Wie oben beschrieben, enthalten die übertragenen Daten einen Bezeichner für den Imaging-Service-Container und TLS-Anmeldeinformationen. Im Verarbeitungsblock 540 wird der Server hochgefahren. Anschließend greift der Server über ein sicheres VLAN auf den Bildgebungsdienst-Container zu und lädt den Inhalt des Bildgebungsdienst-Containers zur Bereitstellung herunter. Im Verarbeitungsblock 550 meldet der Bildgebungsdienst, dass das Herunterladen des Containerinhalts abgeschlossen ist. Im Verarbeitungsblock 560 wird der Imaging-Service-Container aus der Installationsumgebung gelöscht.
-
Die oben beschriebene Installationsumgebung ermöglicht die Bereitstellung von Servern über eine sichere, eins-zu-eins-Kommunikation mit Imaging-Service-Containern. So können mehrere Server gleichzeitig über verschiedene Imaging-Service-Container auf separaten Kommunikationsverbindungen bereitgestellt werden. Zum Beispiel kann jeder Server innerhalb eines Racks gleichzeitig über separate, isolierte VLANs zwischen dem Controller und einem Server bereitgestellt werden.
-
Ausführungsformen können als eine beliebige oder eine Kombination aus einem oder mehreren Mikrochips oder integrierten Schaltkreisen, die über eine Hauptplatine miteinander verbunden sind, festverdrahteter Logik, in einem Speichergerät gespeicherter und von einem Mikroprozessor ausgeführter Software, Firmware, einem anwendungsspezifischen integrierten Schaltkreis (ASIC) und/oder einem feldprogrammierbaren Gate-Array (FPGA) implementiert werden. Der Begriff „Logik“ kann z. B. Software oder Hardware und/oder Kombinationen aus Software und Hardware umfassen.
-
Ausführungsformen können z. B. als Computerprogrammprodukt bereitgestellt werden, das ein oder mehrere maschinenlesbare Medien mit darauf gespeicherten maschinenausführbaren Befehlen enthalten kann, die bei Ausführung durch eine oder mehrere Maschinen, wie z. B. einen Computer, ein Computernetzwerk oder andere elektronische Geräte, dazu führen können, dass die eine oder die mehreren Maschinen Vorgänge in Übereinstimmung mit den hier beschriebenen Ausführungsformen ausführen. Ein maschinenlesbares Medium kann Disketten, optische Platten, CD-ROMs (Compact Disc-Read Only Memories) und magneto-optische Platten, ROMs, RAMs, EPROMs (Erasable Programmable Read Only Memories), EEPROMs (Electrically Erasable Programmable Read Only Memories), magnetische oder optische Karten, Flash-Speicher oder andere Arten von Medien/Maschinenlesbaren Medien umfassen, die zum Speichern von maschinenausführbaren Befehlen geeignet sind, ist aber nicht darauf beschränkt.
-
Darüber hinaus können Ausführungsformen als Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z. B. einem Server) zu einem anfordernden Computer (z. B. einem Client) mittels eines oder mehrerer Datensignale, die in einer Trägerwelle oder einem anderen Ausbreitungsmedium verkörpert und/oder durch diese moduliert sind, über eine Kommunikationsverbindung (z. B. ein Modem und/oder eine Netzwerkverbindung) übertragen werden kann.
-
Die Zeichnungen und die vorangegangene Beschreibung geben Beispiele für Ausführungsformen. Der Fachmann wird verstehen, dass eines oder mehrere der beschriebenen Elemente durchaus zu einem einzigen Funktionselement kombiniert werden können. Alternativ dazu können bestimmte Elemente in mehrere Funktionselemente aufgeteilt werden. Elemente aus einer Ausführungsform können einer anderen Ausführungsform hinzugefügt werden. Die Reihenfolge der hier beschriebenen Prozesse kann beispielsweise geändert werden und ist nicht auf die hier beschriebene Weise beschränkt. Darüber hinaus müssen die Aktionen in einem Flussdiagramm nicht in der gezeigten Reihenfolge ausgeführt werden, auch müssen nicht unbedingt alle Handlungen ausgeführt werden. Auch können diejenigen Handlungen, die nicht von anderen Handlungen abhängig sind, parallel zu den anderen Handlungen ausgeführt werden. Der Umfang der Ausführungsformen ist durch diese spezifischen Beispiele keineswegs begrenzt.
-
Zahlreiche Variationen, ob explizit in der Spezifikation angegeben oder nicht, wie z. B. Unterschiede in der Struktur, den Abmessungen und der Verwendung von Material, sind möglich. Der Umfang der Ausführungsformen ist mindestens so breit, wie er durch die folgenden Ansprüche gegeben ist.