-
Hintergrund
-
Speichersysteme können digitale Informationen in einer Bandkassette speichern. Ein Bandlaufwerk ist ein elektronisches Gerät, das Daten von einer Bandkassette lesen, auf diese Daten schreiben und sie initialisieren kann. Eine Bandkassette kann eine Bandspule enthalten und aufnehmen und kann in das Bandlaufwerk geladen werden, um die Bandkassette zum Lesen, Schreiben und/oder Initialisieren verfügbar zu machen. Das in der Bandkassette untergebrachte Band hat die Form eines länglichen Speichermediums, das über einen Bandkopf eines Bandlaufwerks bewegbar ist. Das Speichermedium einer Bandkassette kann ein magnetisches Speichermedium oder ein optisches Speichermedium umfassen.
-
Figurenliste
-
Einige Implementierungen der vorliegenden Offenbarung werden mit Bezug auf die folgenden Figuren beschrieben.
- ist ein Blockdiagramm einer Anordnung mit einer Speicherbibliothek gemäß einigen Beispielen.
- ist ein Nachrichtenflussdiagramm eines Prozesses gemäß einiger Beispiele.
- ist ein Blockdiagramm eines Speichermediums, das maschinenlesbare Anweisungen gemäß einigen Beispielen speichert.
- ist ein Blockdiagramm eines Computers gemäß einiger Beispiele.
- ist ein Flussdiagramm eines Prozesses gemäß einiger Beispiele.
-
In den Zeichnungen bezeichnen identische Referenznummern ähnliche, aber nicht notwendigerweise identische, Elemente. Die Abbildungen sind nicht notwendigerweise maßstabsgetreu, und die Größe einiger Teile kann zur besseren Veranschaulichung des gezeigten Beispiels übertrieben sein. Darüber hinaus bieten die Zeichnungen Beispiele und/oder Implementierungen, die mit der Beschreibung übereinstimmen; die Beschreibung ist jedoch nicht auf die in den Zeichnungen dargestellten Beispiele und/oder Implementierungen beschränkt.
-
Detaillierte Beschreibung
-
In der vorliegenden Offenlegung schließt die Verwendung des Begriffs „ein“, „eine“ oder „die“ auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Auch der Begriff „beinhaltet“, „einschließlich“, „umfasst“, „mit“, „haben“ oder „mit“, wenn er in dieser Offenbarung verwendet wird, spezifiziert das Vorhandensein der angegebenen Elemente, schließt aber das Vorhandensein oder die Zugabe anderer Elemente nicht aus.
-
Eine „Bandbibliothek“ kann sich auf eine physische Struktur beziehen, in der mehrere Bandkassetten untergebracht werden können. Die Bandkassetten können physisch in physischen Speicherschächten der Bandbibliothek gelagert werden. Ein physischer Speicherschacht ist eine Aufnahme oder Kammer, in die eine Bandkassette eingesetzt und entnommen werden kann.
-
Die Bandbibliothek kann auch eine Bandkassetten-Transportvorrichtung (oder mehrere Bandtransportvorrichtungen) und ein Bandlaufwerk (oder mehrere Bandlaufwerke) enthalten. Eine Bandkassetten-Transportvorrichtung kann einen Roboter, einen Bandkassetten-Picker, einen Bandkassetten-Greifer, einen Bandkassetten-Wagen oder jede andere Art von Mechanismus zum Transportieren einer Bandkassette umfassen. Die Bandkassetten-Transportvorrichtung kann eine Bandkassette physisch von einem physischen Speicherschacht zu einem Bandlaufwerk transportieren und umgekehrt.
-
Ein Bandlaufwerk enthält einen Motor zum Drehen einer Spule einer Bandkassette, die in das Bandlaufwerk geladen ist. Die Drehung der Bandkassettenspule bewirkt das Auf- oder Abwickeln eines Bandes in der Bandkassette, wodurch sich das Band in der Bandkassette oder in die oder aus der Bandkassette bewegt. Das Bandlaufwerk enthält auch einen Bandkopf mit Leseelementen und Schreibelementen, um Daten auf einem Band der Bandkassette zu lesen und Daten auf das Band zu schreiben.
-
Eine Bandbibliothek kann Befehle von einem Benutzer oder einem Computergerät empfangen, um eine Bandkassette aus einem Speicherschacht zu transportieren und die Bandkassette in ein Bandlaufwerk zu laden. Die von der Bandbibliothek empfangenen Befehle werden durch maschinenlesbare Anweisungen verarbeitet, die auf maschinenlesbaren Speichermedien gespeichert sind und von einer Verarbeitungsressource der Bandbibliothek ausgeführt werden.
-
Eine Bandkassette kann in ein Bandlaufwerk geladen oder daraus entladen werden. Wenn eine Bandkassette in ein Bandlaufwerk geladen wird, kann ein entfernter Initiator (ein Benutzer, ein Computergerät oder eine andere Einheit) das Band in der Bandkassette lesen und schreiben. Ein entfernter Initiator bezieht sich auf eine Entität, die von der Bandbibliothek getrennt ist, die aber in der Lage sein kann, auf die Bandbibliothek über ein Kommunikationsmedium wie ein verdrahtetes Netzwerk, ein drahtloses Netzwerk oder eine andere Art von Kommunikationsmedium zuzugreifen.
-
In einigen Beispielen werden die Bandkassetten in einer Bandbibliothek verwendet, um Sicherungsdaten eines Host-Systems zu speichern. Das Host-System, für das die Bandkassetten Sicherungsdaten speichern sollen, kann ein Rechengerät oder mehrere Rechengeräte umfassen. „Sicherungsdaten“ bezieht sich auf Daten, die auf primären Daten im Host-System basieren, wobei sich die Sicherungsdaten auf eine Kopie der primären Daten oder auf beliebige andere Daten beziehen können, die auf der Grundlage der primären Daten berechnet werden, aus denen die primären Daten wiederhergestellt werden können, wenn die primären Daten aus irgendeinem Grund verloren gehen oder beschädigt werden. In anderen Beispielen können Bandkassetten in einer Bandbibliothek verwendet werden, um archivierte Daten oder andere Datentypen zu speichern.
-
Ein Malware-Angriff kann versuchen, die in einem Host-System gespeicherten Primärdaten zu entfernen oder zu beschädigen. Darüber hinaus kann der Malware-Angriff auch versuchen, die in einem Sicherungssystem wie einer Bandbibliothek gespeicherten Daten zu entfernen oder zu beschädigen. Ein Beispiel für einen solchen Malware-Angriff ist ein Ransomware-Angriff, bei dem eine nicht autorisierte Entität (z. B. ein Benutzer, ein Programm oder eine Maschine) die Daten in einem Host-System sowie in einem Backup-Speichersystem wie einer Bandbibliothek verschlüsselt. Die Verschlüsselung der Daten im Hostsystem und in der Bandbibliothek kann einen Chiffrierschlüssel verwenden. Ohne den Chiffrierschlüssel sind die verschlüsselten Daten für die Benutzer des Host-Systems nicht wiederherstellbar.
-
Obwohl in einigen Beispielen auf eine Bandbibliothek Bezug genommen wird, wird darauf hingewiesen, dass Techniken oder Mechanismen gemäß einigen Implementierungen der vorliegenden Offenlegung auf andere Arten von Speichersystemen oder Speicherpools angewendet werden können, die Speicherkassetten enthalten, die zum Lesen, Schreiben und Initialisieren zu Speicherlaufwerken transportiert werden können. „Transportieren“ einer Speicherkassette in einem Speichersystem bezieht sich auf das physische Bewegen der Speicherkassette zwischen verschiedenen physischen Orten im Speichersystem. Ein Beispiel für eine andere Art von Speichersystem ist ein plattenbasiertes Speichersystem oder ein Solid-State-Speichersystem, in dem eine Speicherkassette eine plattenbasierte Speicherkassette bzw. ein Solid-State-Laufwerk (SSD) enthält. Eine plattenbasierte Speicherkassette speichert Daten auf einem drehbaren Medium, wie z. B. einem magnetischen Medium oder einem optischen Medium. Eine SSD enthält eine integrierte Speicherschaltung zum Speichern von Daten. Es kann ein Mechanismus vorgesehen werden, um zu definieren, was Gegenstand des Schreibschutzes ist. Zum Beispiel kann der Mechanismus eine bestimmte Speicherkassette oder eine Gruppe von zu schützenden Speicherkassetten identifizieren, basierend auf dem/den Bezeichner(n) der Speicherkassette(n).
-
Gemäß einigen Implementierungen der vorliegenden Offenbarung prüft ein Speicher-Controller (z. B. ein Speicher-Controller in einem Speichersystem oder ein Speicher-Controller außerhalb des Speichersystems), ob eine Speicherkassette in dem Speichersystem mit einer Anzeige verbunden ist, die während eines Konfigurationsvorgangs gesetzt wurde (z. B. durch einen Administrator, der eine Verwaltungsschnittstelle des Speichersystems verwendet, um anzuzeigen, dass der Schreibschutz für die Speicherkassette aktiviert ist). In einer Speicherbibliothek, wie z. B. einer Bandbibliothek, kann der Speicher-Controller beispielsweise einen Bibliotheks-Controller umfassen.
-
Wie hier verwendet, kann sich ein „Controller“ auf eine Hardware-Verarbeitungsschaltung beziehen, die eine beliebige oder eine Kombination aus einem Mikroprozessor, einem Kern eines Multi-Core-Mikroprozessors, einem Mikrocontroller, einer programmierbaren integrierten Schaltung, einem programmierbaren Gate-Array oder einer anderen Hardware-Verarbeitungsschaltung umfassen kann. Alternativ kann sich ein „Controller“ auf eine Kombination aus einer Hardware-Verarbeitungsschaltung und maschinenlesbaren Anweisungen (Software und/oder Firmware) beziehen, die auf der Hardware-Verarbeitungsschaltung ausführbar sind.
-
Beachten Sie, dass der Speicher-Controller nicht Teil eines Host-Systems ist, das Lese- und Schreibvorgänge von Speicherkassetten im Speichersystem anfordern kann. Beachten Sie auch, dass es sich bei der „während eines Konfigurationsvorgangs gesetzten Anzeige“ um eine elektronisch gesetzte Anzeige handelt (z. B. eine Anzeige, die während des Konfigurationsvorgangs in einem elektronischen Speicher gesetzt wird), im Gegensatz zu einem physischen Schalter oder einer Lasche auf der Speicherkassette, die von einem Menschen physisch in eine Position gebracht werden kann, um den Schreibschutz anzuzeigen.
-
Als Reaktion auf die Feststellung, dass die Speicherkassette mit der Anzeige verbunden ist, löst die Steuerung den Schreibschutz für die Speicherkassette aus, um das Schreiben von Daten auf die Speicherkassette zu verhindern, wenn die Speicherkassette bereits zuvor geschriebene Daten enthält (z. B. eine Datenmenge, die einen festgelegten Schwellenwert überschreitet, wobei der festgelegte Schwellenwert ein Nullwert oder ein Nicht-Nullwert sein kann). Der Schreibschutz bietet Schutz vor verschiedenen Arten von Schreibvorgängen, z. B. einem Schreibvorgang, bei dem Daten auf der Speicherkassette aufgezeichnet werden (als neue Daten oder um zuvor geschriebene Daten zu ersetzen), einem Datenlöschvorgang (um die auf der Speicherkassette gespeicherten Daten zu löschen), einem Neuformatierungsvorgang der Kassette, einem Schreibvorgang von Metadaten, wie z. B. einer Dateimarkierung, bestimmten Änderungen des Inhalts in einem Kassettenspeicher der Speicherkassette (der Kassettenspeicher ist vom Hauptspeichermedium, wie z. B. dem Band, der Speicherkassette, getrennt) und so weiter.
-
Beispiel für die Anordnung des Speichers
-
ist ein Blockdiagramm einer Beispielanordnung, die eine Speicherbibliothek 102 (z. B. eine Bandbibliothek oder eine andere Art von Speicherbibliothek) enthält, auf die ein Hostsystem 104 (oder eines von mehreren Hostsystemen 104) zugreifen kann. Die Kommunikation zwischen den Host-Systemen 104 und der Speicherbibliothek 102 kann über ein Netzwerk 103 erfolgen, z. B. ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN), ein Speichernetzwerk (SAN), das Internet usw. Das Netzwerk 103 kann ein kabelgebundenes Netzwerk und/oder ein drahtloses Netzwerk umfassen.
-
Ein Host-System 104 umfasst eine Rechenvorrichtung (oder mehrere Rechenvorrichtungen), die in der Lage ist (sind), Anfragen zum Zugriff auf Daten zu stellen, die in Speicherkassetten der Speicherbibliothek 102 gespeichert sind. Beispielsweise kann ein Hostsystem 104 auf Daten in Speicherkassetten der Speicherbibliothek 102 als Teil eines Datensicherungsvorgangs zugreifen, bei dem vom Hostsystem 104 (oder von einem anderen System) gespeicherte Primärdaten in die Speicherbibliothek 102 kopiert werden, um in einer Speicherkassette (oder mehreren Speicherkassetten) gespeichert zu werden.
-
Ein Host-System 104 kann auch auf Daten in der/den Speicherkassette(n) der Speicherbibliothek 102 zugreifen, indem es die Daten der Speicherkassette(n) liest, z. B. während eines Wiederherstellungsvorgangs, bei dem die auf der/den Speicherkassette(n) gespeicherten Daten zurück auf das Host-System 104 oder ein anderes System kopiert werden. Der Wiederherstellungsvorgang kann verwendet werden, um beschädigte oder fehlende Primärdaten wiederherzustellen.
-
In anderen Beispielen kann der Zugriff auf Daten, die in der/den Speicherkassette(n) der Speicherbibliothek 102 gespeichert sind, Teil anderer Arten von Operationen durch das/die Hostsystem(e) 104 sein.
-
Im Beispiel von sind die Speicherkassetten in mehrere Partitionen 1 bis N (mit N ≥ 2) unterteilt. In anderen Beispielen sind die Speicherkassetten in der Speicherbibliothek 102 nicht in mehrere Partitionen unterteilt. Eine „Partition“ bezieht sich auf eine Teilmenge von Speicherkassetten in der Speicherbibliothek 102, die entweder physisch oder logisch von einer anderen Teilmenge von Speicherkassetten in der Speicherbibliothek 102 getrennt sind. Auf die Speicherkassetten in den verschiedenen Partitionen kann von jeweils unterschiedlichen Host-Systemen zugegriffen werden, oder sie können zum Speichern unterschiedlicher Datentypen oder für jeden anderen Zweck verwendet werden.
-
Im Beispiel von sind die Speicherkassetten 106-1 herausnehmbar in den physischen Speichersteckplätzen (oder einfacher „Speichersteckplätzen“) 108-1 der Partition 1 montiert. In ähnlicher Weise sind die Speicherkassetten 106-N in den Speichersteckplätzen 108-N der Partition N herausnehmbar montiert.
-
Beachten Sie, dass eine Speicherkassette 106-i (i = 1 bis N) aus einem entsprechenden Speichersteckplatz 108-i entnommen werden kann, um von einer Transportvorrichtung 110 an einen anderen Ort in der Speicherbibliothek 102 transportiert zu werden, z. B. zu einem Speicherlaufwerk 112-i in Partition i oder zu einem anderen Speichersteckplatz in Partition i. Jede Partition i kann ein einzelnes Speicherlaufwerk 112-i oder mehrere Speicherlaufwerke enthalten.
-
Obwohl in nur eine Transportvorrichtung 110 gezeigt ist, kann die Speicherbibliothek 102 in anderen Beispielen mehrere Transportvorrichtungen enthalten. Eine „Transportvorrichtung“ kann sich auf jeden Mechanismus beziehen, der eine Speicherkassette physisch zwischen verschiedenen Orten in der Speicherbibliothek 102 transportieren kann. Beispiele für Transportvorrichtungen sind Picker, Roboter, Greifer, Wagen und so weiter.
-
In Beispielen gemäß umfasst die Speicherbibliothek 102 eine Speicherschnittstelle 114 und eine von der Speicherschnittstelle 114 getrennte Verwaltungsschnittstelle 116. Die Speicherschnittstelle 114 dient der Kommunikation von Daten und Steuerinformationen zwischen der Speicherbibliothek 102 und einem Hostsystem 104. Die Daten, die über die Speicherschnittstelle 114 kommuniziert werden, umfassen Schreibdaten, die von einem Hostsystem 104 an die Speicherbibliothek 102 übertragen werden, um sie in einer Speicherkassette zu speichern, oder Lesedaten, die von einer Speicherkassette abgerufen und an ein Hostsystem 104 übertragen werden.
-
Steuerinformationen, die über die Speicherschnittstelle 114 übermittelt werden können, können Befehle enthalten, die von einem Hostsystem 104 empfangen werden, um eine Datenzugriffsoperation in der Speicherbibliothek 102 durchzuführen, wie z. B. eine Speicherkassettentransportoperation, eine Schreiboperation oder eine Leseoperation. Zusätzlich können die Befehle Befehle zur Bestimmung eines Status der Speicherbibliothek 102 (oder eines Teils der Speicherbibliothek 102) enthalten.
-
In einigen Beispielen ist die Speicherschnittstelle 114 ein Small Computer System Interface (SCSI), über das die Speicherbibliothek 102 in der Lage ist, SCSI-Befehle von einem Host-System 104 zu empfangen, und über das Schreib- oder Lesedaten ausgetauscht werden.
-
In anderen Beispielen enthält die Speicherschnittstelle 114 eine NON-VOLATILE MEMORY EXPRESS (NVMeTM)-Schnittstelle, über die NVMeTM-Befehle und -Daten ausgetauscht werden können.
-
In weiteren Beispielen kann die Speicherschnittstelle 114 einem anderen Protokoll entsprechen, egal ob standardisiert, proprietär oder Open Source.
-
Die Verwaltungsschnittstelle 116 der Speicherbibliothek 102 ist von der Speicherschnittstelle 114 getrennt und bietet einen separaten Kommunikationspfad zwischen einer externen Entität und der Speicherbibliothek 102. Eine „externe Entität“ ist eine Entität (z. B. ein Programm, eine Maschine, ein Mensch usw.), die sich außerhalb der Speicherbibliothek 102 befindet. Die externe Entität kann beispielsweise ein Hostsystem 104, ein Administratorsystem 105 (z. B. ein Computersystem, das mit einem Administrator für die Speicherbibliothek 102 verbunden ist) usw. umfassen.
-
Die Verwaltungsschnittstelle 116 wird verwendet, um verschiedene Verwaltungsaufgaben in Bezug auf die Speicherbibliothek 102 durchzuführen, einschließlich Konfigurationen der Speicherbibliothek 102, Überwachung der Speicherbibliothek 102 und so weiter. Ein Beispiel für die Verwaltungsschnittstelle 116 ist eine Representational State Transfer (REST)-Anwendungsprogrammierschnittstelle (API), die für die Bereitstellung von Webdiensten (als RESTfuI Web Services bezeichnet) verwendet werden kann. Eine REST-API unterstützt verschiedene Routinen (auch als Methoden bezeichnet) und Regeln, die definieren, wie eine externe Einheit mit der Speicherbibliothek 102 über die Verwaltungsschnittstelle 116 interagieren soll.
-
In weiteren Beispielen kann die Speicherbibliothek 102 auch eine Administratorschnittstelle 117 enthalten, die in einigen Beispielen als Remote-Management-Schnittstelle (RMI) bezeichnet werden kann. Die Administratorschnittstelle 117 kann in Form einer dedizierten Website vorliegen, auf die autorisierte Personen (z. B. ein Administrator, der das Administratorsystem 105 verwendet) zugreifen können, um Konfigurationen der Speicherbibliothek 102 durchzuführen. Wenn auf die von der Administratorschnittstelle 117 präsentierte Website von einem System wie dem Administratorsystem 105 zugegriffen wird, kann eine webbasierte Benutzeroberfläche am Administratorsystem 105 präsentiert werden, z. B. in einem Webbrowser. Ein Administrator kann die webbasierte Benutzeroberfläche verwenden, um Verwaltungsaufgaben in Bezug auf die Speicherbibliothek 102 durchzuführen.
-
Obwohl sie als „Administratorschnittstelle“ bezeichnet wird, kann die Administratorschnittstelle 117 als Verwaltungsschnittstelle betrachtet werden, nur in einer anderen Form als die Verwaltungsschnittstelle 116. Entweder die Administratorschnittstelle 117 oder die Verwaltungsschnittstelle 116 kann verwendet werden, um einen Konfigurationsvorgang in der Speicherbibliothek 102 zu initiieren.
-
Die Speicherbibliothek 102 enthält auch einen Schreibschutz-Controller 118 gemäß einigen Implementierungen der vorliegenden Offenbarung. Der Schreibschutz-Controller 118 wird verwendet, um eine Anzeige (z. B. eine von 124-1 bis 124-N) einzustellen, die steuert, ob ein Schreibschutz für eine Speicherkassette bereitgestellt werden soll oder nicht.
-
Die Speicherbibliothek 102 umfasst einen Speicher 122, der mit einer Speichereinrichtung oder mehreren Speichereinrichtungen implementiert werden kann. Eine Speichervorrichtung kann einen dynamischen Direktzugriffsspeicher (DRAM), einen statischen Direktzugriffsspeicher (SRAM), eine Flash-Speichervorrichtung oder eine andere Art von Speichervorrichtung umfassen.
-
Der Speicher 122 kann Informationen speichern, einschließlich Angaben 124-1 bis 124-N, die den jeweiligen Partitionen 1 bis N zugeordnet sind. Die Angaben 124-1 bis 124-N sind Schreibschutzangaben (WPIs), die von der Schreibschutzsteuerung 118 während eines Konfigurationsvorgangs der Speicherbibliothek 102 gesetzt werden. Der Konfigurationsvorgang kann durch das Administratorsystem 105 oder durch ein anderes System initiiert werden.
-
In den Beispielen gemäß ist die WPI 124-1 mit der Partition 1 verbunden, so dass alle Speicherkassetten 106-1 in der Partition 1 schreibgeschützte Speicherkassetten sind. In ähnlicher Weise ist die WPI 124-N der Partition N zugeordnet, so dass alle Speicherkassetten 106-N in der Partition N schreibgeschützte Speicherkassetten sind.
-
Eine „schreibgeschützte Speicherkassette“ bezieht sich auf eine Speicherkassette, für die ein Schreibschutz vorgesehen ist, so dass ein Speicherlaufwerk von der Speicherbibliothek 102 so konfiguriert wird, dass das Schreiben der Speicherkassette verhindert wird, wenn die Speicherkassette zuvor geschriebene Daten speichert.
-
In anderen Beispielen können WPIs anstelle der Zuordnung von WPIs zu den jeweiligen Partitionen in der Speicherbibliothek 102 einzelnen Speicherkassetten zugeordnet werden (d. h. ein WPI pro einzelner Speicherkassette) oder können einer anderen Untergruppe von Speicherkassetten zugeordnet werden.
-
Ein WPI kann sich auf jede Art von Indikator (in Form eines Merkers, einer Variablen oder eines Parameters oder eines anderen Informationselements) beziehen, der auf einen von mehreren verschiedenen Werten (z. B. „0“ und „1“) gesetzt werden kann. Ein WPI entspricht dem Setzen des Indikators auf einen ersten Wert. Wenn der Indikator auf einen zweiten Wert gesetzt ist, der sich vom ersten Wert unterscheidet, dann ist das WPI für die entsprechende Speicherkassette, Partition oder andere Untergruppe von Speicherkassetten nicht gesetzt.
-
Die Speicherbibliothek 102 umfasst auch einen Bibliothekscontroller 115, der Vorgänge innerhalb der Speicherbibliothek 102 steuert. In einigen Beispielen kann die Bibliothekssteuerung 115 verschiedene Befehle verarbeiten, die über die Speicherschnittstelle 114 empfangen werden, und die Bibliothekssteuerung 115 führt als Reaktion auf die Befehle entsprechende Aktionen aus. Beispielsweise kann die Bibliothekssteuerung 115 der Transportvorrichtung 110 befehlen, eine Speicherkassette 106-i von einem Speichersteckplatz 108-i zu einem Speicherlaufwerk 112 zu transportieren und das Laden der Speicherkassette 106-i in das Speicherlaufwerk 112 zu veranlassen. Als weiteres Beispiel kann die Bibliothekssteuerung 115 veranlassen, dass eine Speicherkassette 106-i von einem Speicherlaufwerk 112 entladen und zu einem Speicherschacht 108-i transportiert wird.
-
In Beispielen, in denen die Schreibschutzsteuerung 118 von der Bibliothekssteuerung 115 getrennt ist, können die Schreibschutzsteuerung 118 und die Bibliothekssteuerung 115 über eine Kommunikationsverbindung 119 miteinander kommunizieren.
-
In anderen Beispielen kann der Schreibschutz-Controller 118 Teil des Bibliotheks-Controllers 115 sein.
-
ist ein Flussdiagramm eines Prozesses, der zwischen den verschiedenen in gezeigten Einheiten durchgeführt werden kann. In einigen Beispielen kann ein Administrator oder ein anderer Benutzer am Administratorsystem 105 einen Konfigurationsvorgang einleiten, um den Schreibschutz in der Speicherbibliothek 102 zu konfigurieren. Beispielsweise kann eine Benutzeroberfläche vom Administratorsystem 105 präsentiert werden, wobei die Benutzeroberfläche vom Benutzer am Administratorsystem 105 verwendet werden kann, um den Schreibschutz-Konfigurationsvorgang zu initiieren. In einigen Beispielen kann der Schreibschutz-Konfigurationsvorgang über die Administratorschnittstelle 117 der Speicherbibliothek 102 erfolgen ( ).
-
Als Beispiel kann sich der Benutzer am Administratorsystem 105 über die Administratorschnittstelle 117 bei der Speicherbibliothek 102 anmelden. Der Benutzer kann die Anmeldeinformationen des Benutzers (z. B. eine Administratoranmeldung) übermitteln, um sich erfolgreich an der Administratorschnittstelle anzumelden. Nach erfolgreicher Anmeldung kann der Benutzer einen Schreibschutz-Konfigurationsvorgang einleiten.
-
Obwohl auf einen Menschen Bezug genommen wird, der die Konfiguration des Schreibschutzmodus initiiert, kann in anderen Beispielen ein Programm oder eine Maschine die Konfiguration des Schreibschutzmodus initiieren, vorausgesetzt, das Programm und die Maschine haben die entsprechende Berechtigung und können authentifiziert werden.
-
Auch wenn in einigen Beispielen auf das Administratorsystem 105 verwiesen wird, das die Konfiguration des Schreibschutzmodus initiiert, kann in anderen Beispielen ein anderes System verwendet werden, um die Schreibschutzkonfiguration der Speicherbibliothek 102 zu initiieren.
-
Das Administratorsystem 105 sendet (bei 202) eine Angabe zur Konfiguration eines Schreibschutzmodus an die Administratorschnittstelle 117 der Speicherbibliothek 102. Der Hinweis zum Konfigurieren des Schreibschutzmodus kann angeben, dass der Schreibschutzmodus für eine Partition, eine einzelne Speicherkassette oder eine andere Teilmenge von Speicherkassetten aktiviert werden soll. In einigen Fällen kann die Angabe zum Konfigurieren des Schreibschutzmodus angeben, dass der Schreibschutzmodus für mehrere Partitionen aktiviert werden soll.
-
Der Hinweis zur Konfiguration des Schreibschutzmodus kann in Form einer Nachricht, eines Informationselements oder einer anderen Art von Information erfolgen, die anzeigt, dass die Konfiguration des Schreibschutzmodus angefordert wird. Die Anzeige zur Konfiguration des Schreibschutzmodus wird vom Schreibschutz-Controller 118 in der Speicherbibliothek 102 über die Administratorschnittstelle 117 empfangen.
-
Als Reaktion auf den Hinweis, den Schreibschutzmodus zu konfigurieren, setzt die Schreibschutzsteuerung 118 (bei 204) einen WPI (z. B. einen der WPIs 124-1 bis 124-N in ). Das eingestellte WPI kann für eine Partition, eine einzelne Speicherkassette oder eine andere Teilmenge von Speicherkassetten sein. Die eingestellte WPI wird in einem Speicher (z. B. 122 in ) der Speicherbibliothek 102 gespeichert.
-
Zu einem späteren Zeitpunkt sendet ein Hostsystem 104 (bei 206) einen Verschiebebefehl (z. B. einen SCSI MOVE COMMAND, einen NVMeTM -Befehl zum Verschieben einer Speicherkassette usw.) an die Speicherbibliothek 102, der vom Bibliothekscontroller 115 in der Speicherbibliothek 102 empfangen wird. Der Move-Befehl soll einen Transport einer Speicherkassette 106 von einem Speichersteckplatz in der Speicherbibliothek 102 zu einem Speicherlaufwerk 112 anfordern. Das Speicherlaufwerk 112 von ist eines der in gezeigten Speicherlaufwerke 112-1 bis 112-N.
-
Als Reaktion auf den Verschiebebefehl prüft die Bibliothekssteuerung 115 (bei 208), ob die WPI für die Speicherkassette 106 gesetzt ist. Beachten Sie, dass die WPI individuell mit der Speicherkassette 106 verknüpft sein kann, mit einer Partition verknüpft sein kann, zu der die Speicherkassette 106 gehört, oder mit einer anderen Untergruppe von Speicherkassetten verknüpft sein kann.
-
Die Bibliothekssteuerung 115 kann auf die WPI im Speicher 122 zugreifen, um zu prüfen, ob die WPI gesetzt ist. In Beispielen, in denen der Schreibschutz-Controller 118 von dem Bibliotheks-Controller 115 in der Speicherbibliothek 102 getrennt ist, kann der Bibliotheks-Controller 115 mit dem Schreibschutz-Controller 118 kommunizieren, um die WPI aus dem Speicher 122 abzurufen.
-
In einigen Beispielen veranlasst die Bibliothekssteuerung 115 als Reaktion auf die Feststellung, dass das WPI gesetzt ist, das teilweise Laden (bei 214) der Speicherkassette 106 in das Speicherlaufwerk 112. In solchen Beispielen kann die Speicherkassette 106 eine teilweise geladene Position und eine vollständig geladene Position haben. In der teilweise geladenen Position ist ein Lesegerät im Speicherlaufwerk 112 in der Lage, einen Kassettenspeicher 210 zu lesen, der Teil der Speicherkassette 106 ist. Der Kassettenspeicher 210 kann in einigen Beispielen ein RFID-Chip (Radio Frequency Identification) sein. Die in einem Speicher des RFID-Chips gespeicherten Informationen können drahtlos von einem RFID-Lesegerät gelesen werden. In anderen Beispielen kann der Kassettenspeicher 210 mit einer anderen Art von Speichergerät implementiert sein.
-
Der Kassettenspeicher 210 ist von einem Hauptspeichermedium 212 (z. B. einem Bandspeichermedium) der Speicherkassette 106 getrennt. Das Hauptspeichermedium 212 wird verwendet, um Daten zu speichern, die als Reaktion auf Schreibbefehle vom Host-System 104 geschrieben werden.
-
In einigen Beispielen kann der Kassettenspeicher 210 Informationen über geschriebene Daten speichern, die eine Datenmenge angeben können, die zuvor auf ein Hauptspeichermedium 212 der Speicherkassette 106 geschrieben wurde. Das Lesegerät der Speicherkassette 106 kann die geschriebenen Daten lesen, die dann (bei 216) an den Bibliothekscontroller 115 gesendet werden. In weiteren Beispielen können die geschriebenen Dateninformationen gelesen werden, wenn sich die Speicherkassette 106 außerhalb des Speicherlaufwerks 112 befindet, was in Beispielen möglich ist, in denen sich der Kassettenspeicher 210 in einem RFID-Chip befindet.
-
In anderen Beispielen können die geschriebenen Daten statt im Kassettenspeicher 210 in einem bestimmten Abschnitt des Hauptspeichermediums 212 gespeichert werden, der ein Bereich des Hauptspeichermediums 212 sein kann, der zum Speichern von Metadaten für das Hauptspeichermedium 212 verwendet wird. In solchen Beispielen würde die Speicherkassette 214 vollständig in das Speicherlaufwerk 112 geladen werden, um die geschriebenen Daten von dem bezeichneten Abschnitt des Hauptspeichermediums 212 zu lesen. Das Speicherlaufwerk 112 würde keine Schreibvorgänge auf der Speicherkassette 214 zulassen, es sei denn, es wurde ausdrücklich die Erlaubnis dazu erteilt.
-
Als Reaktion auf den Empfang der Daten, die geschrieben wurden (empfangen bei 216), bestimmt die Bibliothekssteuerung 115 (bei 218), ob die Menge der zuvor geschriebenen Daten, die in der Speicherkassette 106 gespeichert sind, einen bestimmten Schwellenwert überschreitet (der ein Nullwert oder ein Nicht-Nullwert sein kann).
-
Wenn das WPI für die Speicherkassette 106 gesetzt ist und die Menge der zuvor geschriebenen Daten in der Speicherkassette 106 größer oder gleich dem angegebenen Schwellenwert ist, dann bestimmt die Bibliothekssteuerung 118, dass der Schreibschutz für die Speicherkassette 106 gesetzt werden soll. Wenn hingegen entweder der WPI nicht gesetzt ist oder die Menge der zuvor geschriebenen Daten in der Speicherkassette 106 kleiner als der Schwellenwert ist, dann bestimmt die Bibliothekssteuerung 115, dass der Schreibschutz für die Speicherkassette 106 nicht gesetzt werden soll, und fährt stattdessen mit dem normalen Transportvorgang des Ladens der Speicherkassette 106 fort, ohne den Schreibschutz für die Speicherkassette 106 zu setzen.
-
Als Reaktion auf die Feststellung (bei 218), dass die Menge der zuvor geschriebenen Daten, die in der Speicherkassette 106 gespeichert sind, einen bestimmten Schwellenwert überschreitet, sendet die Bibliothekssteuerung 115 (bei 222) Konfigurationsinformationen an das Speicherlaufwerk 112. Die Konfigurationsinformation kann eine Anzeige enthalten, dass der Schreibschutzmodus ausgelöst wurde, und zwar als Reaktion darauf, dass der Bibliothekscontroller 115 bestimmt, dass der Schreibschutz ausgelöst werden soll. Andererseits kann die Konfigurationsinformation eine Angabe enthalten, dass der Schreibschutz nicht ausgelöst werden soll, als Reaktion darauf, dass der Bibliothekscontroller 115 bestimmt, dass der Schreibschutz für die Speicherkassette 106 nicht ausgelöst werden soll.
-
In Beispielen, in denen die Speicherkassette 106 teilweise in das Speicherlaufwerk 106 geladen wird, um den Kassettenspeicher 210 zu lesen, veranlasst die Bibliothekssteuerung 115 das vollständige Laden (bei 224) der Speicherkassette 106 in das Speicherlaufwerk 106.
-
Nach dem vollständigen Laden, wenn die Konfigurationsinformation anzeigt, dass der Schreibschutz ausgelöst ist, verhindert das Speicherlaufwerk 112 (bei 226) das Schreiben von Daten auf die Speicherkassette 106 als Reaktion auf einen Schreibbefehl, der vom Host-System 104 empfangen wird. Der Schreibbefehl kann ein Befehl zum Aufzeichnen von Daten auf der Speicherkassette 106, ein Löschbefehl zum Löschen von Daten der Speicherkassette, ein Neuformatierungsbefehl zum Neuformatieren der Speicherkassette, ein Metadaten-Schreibbefehl zum Schreiben von Metadaten (z. B. einer Dateimarkierung) auf die Speicherkassette, ein Befehl zum Ändern bestimmter Inhalte des Kassettenspeichers 210 usw. sein. Somit kann das Verhindern eines Schreibens von Daten auf die Speicherkassette 106 das Verhindern jeder Art von Modifikation von Daten der Speicherkassette 106 als Reaktion auf irgendeine der vorstehend genannten möglichen Arten von Schreibbefehlen umfassen. Wenn jedoch die Konfigurationsinformation anzeigt, dass der Schreibschutz nicht ausgelöst wurde, dann erlaubt das Speicherlaufwerk 112 (bei 226) den durch den Schreibbefehl angeforderten Schreibvorgang, um mit dem Schreiben von Daten auf die Speicherkassette 106 fortzufahren.
-
In einigen Beispielen, wie oben beschrieben, beinhaltet die Einstellung des WPI (bei 204) das Schreiben eines Wertes durch den Schreibschutz-Controller 118 in den Speicher 122 der Speicherbibliothek 102 ( ).
-
In anderen Beispielen kann der Schreibschutz-Controller 118 anstelle oder zusätzlich zum Schreiben des Wertes in den Speicher 122 der Speicherbibliothek 102, um den WPI einzustellen, einen Wert in einen Speicher (z. B. den Kassettenspeicher 210 oder den bezeichneten Teil des Hauptspeichermediums 212) der Speicherkassette 106 schreiben, um anzuzeigen, dass der Schreibschutz für die Speicherkassette aktiviert werden soll.
-
In einigen Beispielen kann die in den Speicher (z. B. 210 oder 212) der Speicherkassette 106 geschriebene Schreibschutzanzeige für das Host-System 104 zugänglich sein. Infolgedessen kann es möglich sein, dass das Host-System 104 die in den Speicher der Speicherkassette 106 geschriebene Schreibschutzanzeige löschen oder modifizieren kann. In solchen Beispielen kann der Schreibschutz-Controller 118 eine Technik implementieren, um die in den Speicher der Speicherkassette 106 geschriebene Schreibschutzangabe zu schützen. Beispielsweise kann die Schreibschutzsteuerung 118 die Schreibschutzangabe aus dem Speicher der Speicherkassette 106 lesen, wenn die Speicherkassette 106 anfänglich in das Speicherlaufwerk 112 geladen wird, eine entsprechende Schreibschutzangabe in einen Speicher (z. B. 122) der Speicherbibliothek 102 schreiben und die Schreibschutzangabe im Speicher der Speicherkassette 106 prüfen, wenn die Speicherkassette 106 entladen wird. Wenn die Schreibschutzanzeige im Speicher der Speicherkassette 106 nicht mit der im Speicher der Speicherbibliothek 102 gespeicherten Schreibschutzanzeige übereinstimmt, dann kann die Schreibschutzsteuerung 118 die Schreibschutzanzeige in den Speicher der Speicherkassette 106 neu schreiben. Ein weiteres Beispiel für den Schutz der Schreibschutzangabe ist, dass der für das Speicherlaufwerk 112 eingestellte Schreibschutz auch für den Teil des Speichers der Speicherkassette 106 gilt, in dem die Schreibschutzangabe gespeichert ist.
-
In anderen Beispielen können andere Schutzmechanismen verwendet werden, um die Schreibschutzanzeige im Speicher der Speicherkassette 106 vor unbefugtem Zugriff oder Veränderung zu schützen.
-
ist ein Blockdiagramm eines nicht-transitorischen maschinenlesbaren oder computerlesbaren Speichermediums 300, auf dem maschinenlesbare Befehle gespeichert sind, die bei Ausführung einen Controller (z. B. 115 und/oder 118 in ) (der für ein von einem Hostsystem getrenntes Speichersystem ist) veranlassen, verschiedene Aufgaben durchzuführen.
-
Die maschinenlesbaren Anweisungen können Anweisungen zur Überprüfung der Schreibschutzindikation 302 enthalten, um zu überprüfen, ob eine Speicherkassette im Speichersystem (z. B. die Speicherbibliothek 102 von ) mit einer Indikation (z. B. der oben besprochenen WPI) verbunden ist, die in einem elektronischen Speicher (z. B. dem Speicher 122 der Speicherbibliothek 102) während eines Konfigurationsvorgangs im Speichersystem gesetzt wurde, um anzuzeigen, dass der Schreibschutz für die Speicherkassette aktiviert ist.
-
In einigen Beispielen reagiert der Konfigurationsvorgang auf den Zugriff durch eine Entität (z. B. das Administratorsystem 105 in ) über eine Verwaltungsschnittstelle (z. B. die Administratorschnittstelle 117 in ) des Speichersystems. Die Verwaltungsschnittstelle ist von einer Speicherschnittstelle (z. B. 114 in ) des Speichersystems getrennt.
-
Die maschinenlesbaren Anweisungen können ferner Anweisungen 304 zum Auslösen des Schreibschutzes enthalten, um in Reaktion auf die Feststellung, dass die Speicherkassette mit der Anzeige verbunden ist, den Schreibschutz für die Speicherkassette auszulösen, um das Schreiben von Daten auf die Speicherkassette zu verhindern, wenn die Speicherkassette bereits zuvor geschriebene Daten enthält.
-
In einigen Beispielen lädt die Steuerung die weitere Speicherkassette in ein Speicherlaufwerk und ermöglicht das Schreiben von Daten auf die weitere Speicherkassette, wenn die weitere Speicherkassette nicht mehr als eine bestimmte Menge (null oder mehr) an Daten speichert. In einigen Beispielen empfängt die Steuerung Informationen vom Speicherlaufwerk, die anzeigen, dass die weitere Speicherkassette nicht mehr als die angegebene Menge an Daten speichert.
-
In einigen Beispielen deaktiviert die Steuerung einen Schreibschutzmodus für die Speicherkassette während eines Schreibvorgangs zum Schreiben der zuvor geschriebenen Daten auf die Speicherkassette. Dadurch kann der Schreibvorgang (z. B. ein Datensicherungsvorgang, ein Archivierungsvorgang usw.) in Bezug auf die Speicherkassette fortgesetzt werden. Nachdem der Schreibvorgang abgeschlossen ist, aktiviert die Steuerung den Schreibschutzmodus als Reaktion darauf, dass die Speicherkassette länger als eine bestimmte Zeitdauer aus einem Speicherlaufwerk im Speichersystem entladen wird. Wenn die Speicherkassette länger als die angegebene Zeitdauer aus dem Speicherlaufwerk entladen wird, wird angezeigt, dass das Schreiben von Daten auf die Speicherkassette abgeschlossen ist und die Speicherkassette zur sicheren Aufbewahrung in einen Speicherschacht bewegt wurde.
-
In weiteren Beispielen wird die Speicherkassette aus dem Speicherlaufwerk entladen, dann aber vor Ablauf der vorgegebenen Zeitdauer wieder in das Speicherlaufwerk geladen. In solchen Beispielen wird der Schreibschutzmodus nicht von der Steuerung gesetzt. Dies kann in einem Szenario verwendet werden, in dem weitere Daten an bereits geschriebene Daten der Speicherkassette angehängt werden sollen (z. B. zur Fortsetzung einer Datensicherung). Wenn das Host-System feststellt, dass der Schreibvorgang abgeschlossen ist (z. B. der Datensicherungsvorgang abgeschlossen ist), dann fordert das Host-System keinen Rücktransport der Speicherkassette zum Speicherlaufwerk an, wodurch die angegebene Zeitdauer abläuft und der Schreibschutzmodus gesetzt werden kann.
-
In einigen Beispielen deaktiviert der Controller nach dem Auslösen des Schreibschutzes für die Speicherkassette den Schreibschutz nach Ablauf einer bestimmten Zeitspanne (z. B. sechs Monate oder eine andere Zeitdauer). Der Ablauf der festgelegten Zeitspanne kann z. B. einer Datenaufbewahrungsrichtlinie eines Unternehmens oder einer anderen Einheit entsprechen. Die Datenaufbewahrungsrichtlinie kann festlegen, dass die Daten des Unternehmens oder einer anderen Einheit für die angegebene Zeitspanne aufbewahrt werden müssen, danach können die Daten gelöscht werden. Der Schreibschutz kann nach einer bestimmten Zeitspanne deaktiviert werden, damit die Speicherkassette für einen nachfolgenden Schreibvorgang verwendet werden kann.
-
ist ein Blockdiagramm eines Controllers 400 gemäß einiger Beispiele. Die Steuerung 400 enthält einen Prozessor 402 (oder mehrere Prozessoren). Ein Prozessor kann einen Mikroprozessor, einen Kern eines Multi-Core-Mikroprozessors, einen Mikrocontroller, eine programmierbare integrierte Schaltung, ein programmierbares Gate-Array oder eine andere Hardware-Verarbeitungsschaltung umfassen.
-
Die Steuerung 400 enthält außerdem ein Speichermedium 404, das maschinenlesbare Anweisungen speichert, die auf dem Prozessor 402 ausführbar sind, um verschiedene Aufgaben durchzuführen. Maschinenlesbare Anweisungen, die auf einem Prozessor ausführbar sind, können sich auf die Anweisungen beziehen, die auf einem einzelnen Prozessor oder auf die Anweisungen, die auf mehreren Prozessoren ausführbar sind.
-
Die maschinenlesbaren Anweisungen im Speichermedium 404 enthalten Anweisungen 406 zur Überprüfung des Schreibschutzmodus, um zu prüfen, ob ein Schreibschutzmodus für eine Speicherkassette in einem Speichersystem aktiv ist.
-
Die maschinenlesbaren Anweisungen enthalten außerdem Anweisungen zur Bestimmung der Datenmenge 408 und Anweisungen zur Aktivierung des Schreibschutzes 410, die als Reaktion auf die Feststellung, dass der Schreibschutzmodus für die Speicherkassette aktiv ist, ausgeführt werden.
-
Die Anweisungen zur Bestimmung der Datenmenge 408 bestimmen, ob eine bestimmte Datenmenge (z. B. größer als Null oder ein anderer Schwellenwert) in der Speicherkassette gespeichert ist.
-
Als Reaktion auf die Feststellung, dass die angegebene Datenmenge in der Speicherkassette gespeichert ist, konfigurieren die Anweisungen 410 zur Aktivierung des Schreibschutzes ein Speicherlaufwerk, um den Schreibschutz zu aktivieren, um das Schreiben von Daten auf die Speicherkassette zu verhindern.
-
In einigen Beispielen lesen die maschinenlesbaren Anweisungen Informationen in einem Speicher (z. B. Kassettenspeicher oder ein bestimmter Teil des Hauptspeichermediums) der Speicherkassette, um festzustellen, ob die angegebene Datenmenge zuvor auf die Speicherkassette geschrieben wurde.
-
ist ein Flussdiagramm eines Prozesses 500 gemäß einigen Implementierungen der vorliegenden Offenbarung. Der Prozess 500 kann z. B. von der Schreibschutzsteuerung 118 durchgeführt werden.
-
Der Prozess 500 beinhaltet die Überprüfung (bei 502), ob ein Schreibschutzmodus für eine Speicherkassette in einem Speichersystem aktiv ist.
-
Der Prozess 500 führt in Reaktion auf die Feststellung, dass der Schreibschutzmodus für die Speicherkassette aktiv ist, die folgenden Aufgaben aus. Der Prozess 500 empfängt (504) Informationen von einem Speicherlaufwerk, wobei die Informationen von dem Speicherlaufwerk aus einem Speicher der Speicherkassette gelesen werden.
-
Der Prozess 500 bestimmt (bei 506), basierend auf den Informationen, ob eine bestimmte Datenmenge in der Speicherkassette gespeichert ist. Als Reaktion auf die Feststellung, dass die angegebene Datenmenge in der Speicherkassette gespeichert ist, konfiguriert der Prozess 500 (bei 508) das Speicherlaufwerk, um den Schreibschutz zu aktivieren, um das Schreiben von Daten auf die Speicherkassette zu verhindern. Als Reaktion auf die Feststellung, dass die angegebene Datenmenge nicht auf der Speicherkassette gespeichert ist, erlaubt der Prozess 500 (bei 510) das Schreiben von Daten auf die Speicherkassette durch das Speicherlaufwerk.
-
Ein Speichermedium (z. B., 300 in oder in ) kann eine beliebige oder eine Kombination der folgenden Elemente enthalten: eine Halbleiterspeichereinrichtung, wie z. B. ein dynamischer oder statischer Direktzugriffsspeicher (DRAM oder SRAM), ein löschbarer und programmierbarer Festwertspeicher (EPROM), ein elektrisch löschbarer und programmierbarer Festwertspeicher (EEPROM) und ein Flash-Speicher oder eine andere Art von nichtflüchtiger Speichereinrichtung; eine Magnetplatte, wie z. B. eine Festplatte, eine Diskette und eine Wechselplatte; ein anderes magnetisches Medium, einschließlich eines Bandes; ein optisches Medium, wie z. B. eine Compact Disk (CD) oder eine digitale Videodisk (DVD); oder eine andere Art von Speichereinrichtung. Beachten Sie, dass die oben besprochenen Anweisungen auf einem einzigen computer- oder maschinenlesbaren Speichermedium bereitgestellt werden können, oder alternativ auf mehreren computer- oder maschinenlesbaren Speichermedien, die in einem großen System mit möglicherweise mehreren Knoten verteilt sind. Ein solches computerlesbares oder maschinenlesbares Speichermedium oder solche Speichermedien werden als Teil eines Artikels (oder Herstellungsartikels) betrachtet. Ein Artikel oder Herstellungsgegenstand kann sich auf jede hergestellte Einzelkomponente oder mehrere Komponenten beziehen. Das Speichermedium oder die Speichermedien können sich entweder in der Maschine befinden, in der die maschinenlesbaren Anweisungen ausgeführt werden, oder an einem entfernten Standort, von dem maschinenlesbare Anweisungen über ein Netzwerk zur Ausführung heruntergeladen werden können.
-
In der vorstehenden Beschreibung sind zahlreiche Details aufgeführt, um ein Verständnis des hier offengelegten Gegenstands zu vermitteln. Es können jedoch auch Implementierungen ohne einige dieser Details durchgeführt werden. Andere Implementierungen können Modifikationen und Variationen von den oben beschriebenen Details enthalten. Es ist beabsichtigt, dass die beigefügten Ansprüche solche Modifikationen und Variationen abdecken.