-
Die
Erfindung bezieht sich auf ein Verfahren zum Speichern und Aufrechterhalten
von Daten nach Anspruch 1, um die Integrität und die Sicherheit von Datenfeldern
sicherzustellen. Ferner betrifft die vorliegende Erfindung eine
Datenspeichereinheit gemäß Anspruch
8, ein Computer-Programm nach Anspruch 9 zur Ausführung des
Verfahrens und ein Speichermedium nach Anspruch 10.
-
Die
meisten Computersysteme enthalten irgendeine Art von nichtflüchtigem
Speicher, um Daten zu speichern und aufrechtzuerhalten. Der nichtflüchtige Speicher
stellt ein Speichermedium bereit, dessen Inhalte zurückbehalten
werden, wenn die Energie weggenommen wird. Allgemeine Beispiele
von nichtflüchtigen
Speichern enthalten Disketten, Festplatten und Bänder.
-
Die
meisten Arten von nichtflüchtigen
Speichern bieten eine vergleichsweise hohe Zuverlässigkeit,
insbesondere wenn ein redundanter Speicher verwendet wird. Die Funktionalität des nichtflüchtigen Speichers
variiert weithin zwischen verschiedenen Arten von nichtflüchtigen
Speichern. Zum Beispiel bieten Festplatten traditionell eine höhere Funktionalität, ausgedrückt in den
Zugriffsgeschwindigkeiten, als Disketten oder Bänder. Die meisten Arten von nichtflüchtigem
Speicher können
wieder verwendet werden, da der Prozeß, der zum Speichern von Daten
verwendet wird, nicht zerstörerisch
ist. Wenn Daten in der Form eines Datenfeldes gelöscht werden, werden
häufig
Verzeichnisinformationen, die mit dem Datenfeld verknüpft sind,
lediglich in dem nichtflüchtigen
Speicher aktualisiert und das Datenfeld selbst bleibt unverändert. Zum
Beispiel wird in vielen Computersystemen das Löschen eines Datenfeldes realisiert,
indem der Feldname von einem Feldverzeichnis oder einer Feldplazierungstabelle
entfernt wird, das die Plätze,
die durch das Datenfeld besetzt sind, für andere Daten verfügbar macht.
Jedoch verbleibt das Datenfeld immer noch auf dem nichtflüchtigen Speicher
und kann solange zurückgewonnen
werden, wie es nicht mit anderen Daten überschrieben wird. Dieser Lösungsansatz
macht es schwierig, zu wissen, ob eine bestimmte Kopie von Daten
eine Originalkopie ist, und macht die Daten dafür anfällig, von einer dritten Partei
erhalten zu werden bzw. für
diese zugänglich
zu werden.
-
Eine
andere Art von nichtflüchtigem
Speicher ermöglicht
es, Daten nur einmal zu schreiben, jedoch viele Male, falls gewünscht, zu
lesen. Auf diese Art von nichtflüchtigem
Speicher wird üblicherweise
als ein einmal beschreibbares, mehrfach lesbares Speichermedium
("WORM-Speichermedium") Bezug genommen.
Ein allgemeines Beispiel einer nichtflüchtigen WORM-Speichereinrichtung
ist eine optische Platte bzw. Scheibe. Diese Art von Speichermedium
ist zur Archivierung von Daten nützlich,
z.B. für bestimmte
Arten von medizinischen oder betrieblichen Aufzeichnungen, die nur
einmal geschrieben und mehrere Male gelesen werden können. Dies
garantiert, daß eine
bestimmte Datenkopie eine Originalkopie ist, da die Daten nicht
aktualisiert oder überschrieben
werden können.
-
Sowohl
WORM-Systeme als auch herkömmliche
Lese-/Schreibspeichersysteme leiden unter dem Nachteil, daß sie anfällig auf
die Veränderung von
Daten sind. Ein Benutzer von Daten ist nicht sicher, daß die Daten
durch die unbekannten Quellen ursprünglich oder verändert ist,
wenn er Daten verwendet. Zum Beispiel kann eine nicht autorisierte Person
in einem Plattenspeicheruntersystem das Plattenlaufwerk entfernen
und ändern,
verfälschen oder
die Informationen, die auf dem Plattenlaufwerk gespeichert sind,
fälschen
oder kopieren bzw. abfangen oder unterbrechen.
-
Zusätzlich können Informationen,
die in dem Speichersystem gespeichert sind, für die Speicherung nach dem
Ablauf einer ausreichenden Zeit unerwünscht werden. Deshalb ist es
in einigen Zusammenhängen
wünschenswert,
einen Weg zur Verfügung
zu stellen, um alte Informationen aus einem Speichersystem verschwinden
zu lassen und unverfügbar
zu machen. Ein solches Beispiel ist eine betriebliche Aufzeichnung,
die nach fünf
Jahren gemäß der Betriebspolitik
vernichtet werden sollte.
-
Japanese
Patent Abstract
JP 127105
A offenbart einen Mikrocomputer, dessen Systemprogramm
in einem Systemspeicher gespeichert ist, der ein Flash-ROM enthält, wobei
ein Erweiterungsspeicher vorgesehen ist, in dem eine Kopie des Systemprogramms
gespeichert ist. Auf diese Weise wird sichergestellt, dass der Mikrocomputer
auch bei einem Ausfall des Flash-ROM's sicher gestartet
werden kann, ohne das ROM auszutauschen.
-
Japanese
Patent Abstract JP 09-330272 A offenbart einen vergleichbaren Mikrocomputer,
der normalerweise mit dem Betriebssystem von einem Flash-Speicher
gestartet wird. Für
den Fall eines Ausfalls des Flash-Speichers wird ein Auswahlschalter
gesetzt und wird ein Ersatz-ROM
ausgewählt
und das Systemprogramm von dem Ersatz-ROM gelesen. Nach Hochfahren
der CPU wird das Systemprogramm aus dem Ersatz-ROM durch Überschreiben wieder
in das Flash-ROM geschrieben, um für einen erneuten Startvorgang
des Mikrocomputers zur Verfügung
zu stehen.
-
US 5,265,159 offenbart ein
Verfahren zum sicheren Löschen
einer Datei auf einem Speichermedium eines Computersystems, bei
welchem Verfahren ein Zeiger in einer Dateibelegungstabelle (FAT)
gelöscht
wird und bei dem die Datensektoren überschrieben werden, allerdings
nicht mit einem vorherbestimmten konstanten Wert. Stattdessen werden die
Daten in den zu überschreibenden
Datensektoren gelesen, verschlüsselt
und wieder zurück
in die Datensektoren geschrieben. Die Datensektoren werden also
nicht mit einem vorherbestimmten konstanten Wert überschrieben.
-
US 5,457,748 offenbart eine
Vorrichtung mit flüchtigen
Speicherbauelementen, nämlich
einem EEPROM und einem flüchtigen
RAM. Zum Löschen werden
jeweils die ersten zwei Bytes der gespeicherten Daten überschrieben.
Es wird nicht offenbart, dass das Überschreiben mit einem festen
vorherbestimmten Wert erfolgt.
-
Die
DE 42 29 266 A1 offenbart
einen Rechner mit zwei Festplattenlaufwerken, von denen eines ein
Hauptlaufwerk und das andere ein Hilfslaufwerk darstellt. Die Festplatte
es Hilfslaufwerks kann programmgesteuert durch Sicherungskopien
auf den Stand der Festplatte des Hauptlaufwerks gebracht werden.
-
Die
DE 42 29 266 A1 offenbart
eine Spiegelfestplatte. In Reaktion auf einen Fehler in einer der beiden
dortigen nichtflüchtigen
Speichereinrichtungen werden weitere Zugriffe zur auf die nicht
fehlerbehaftete Festplatte gerichtet. Zugriffe auf die fehlerbehaftete
Festplatte werden verhindert.
-
Aufgabe
der vorliegenden Erfindung ist es, ein Verfahren und eine Vorrichtung
zum Speichern und Aufrechterhalten von Daten zu schaffen, das bzw.
die eine relativ hohe Datensicherheit gewährleistet. Außerdem soll
ein Computerprogrammprodukt mit Programmkode zur Durchführung des
erfindungsgemäßen Verfahrens
geschaffen werden.
-
Diese
Aufgabe wird gelöst
durch ein Verfahren mit den Merkmalen nach Patentanspruch 1, durch
eine Datenspeichereinheit mit den Merkmalen nach Patentanspruch
8 sowie durch ein Computerprogramm mit den Merkmalen nach Patentanspruch 9.
Vorteilhafte Weiterbildungen sind Gegenstand der rückbezogenen
Unteransprüche.
-
Somit
weist das Verfahren die Schritte zum Speichern eines Satzes von
Daten in einer ersten nichtflüchtigen
Speichereinrichtung, das Speichern einer Kopie des Datensatzes in
einer zweiten nichtflüchtigen
Speichereinrichtung, und in Reaktion auf einen Fehler bzw. ein Versagen
oder einen Ausfall der ersten nichtflüchtigen Speichereinrichtung
die Löschung
der Daten aus der ersten nichtflüchtigen Speichereinrichtung
durch Überschreiben
der Daten auf der ersten nichtflüchtigen
Speichereinrichtung mit dem vorbestimmten Wert auf.
-
Die
Datenspeichereinheit weist somit eine nichtflüchtige Speichereinrichtung
und eine Prozeßeinheit
auf, die kommunikativ an die erste nichtflüchtige Speichereinrichtung
angekoppelt ist, wobei die Prozeßeinheit konfiguriert ist,
um Daten in der ersten nichtflüchtigen
Speichereinrichtung zu speichern, eine Kopie der Daten in einer
zweiten nichtflüchtigen Speichereinrichtung
zu speichern und zu bestimmen, ob ein Ausfall bzw. Fehler der ersten
nichtflüchtigen Speichereinrichtung
aufgetreten ist, und falls dem so ist, die Daten durch Überschreiben
der Daten mit einem vorbestimmten Wert zu löschen.
-
Ausführungsformen
mit Merkmalen gemäß der Erfindung
werden nun beispielhaft und in keiner beschränkenden Weise unter Bezugnahme
auf die Figuren der begleitenden Darstellungen beschrieben, wobei
gleiche Bezugsziffern auf ähnliche
Elemente bzw. gleiche Elemente Bezug nehmen, und in denen:
-
1 eine
Blockdarstellung ist, die ein System zum Speichern und Aufrechterhalten
von Daten darstellt;
-
2A eine
Blockdarstellung ist, die eine Speichereinheit darstellt, die in
dem System nach 1 enthalten ist;
-
2B eine
Blockdarstellung ist, die einen Abschnitt der Speichereinheit nach 2A darstellt;
-
2C ein
Blockdiagramm eines Abschnitts einer Speichereinheit nach 2B darstellt;
-
3 3 ein
Blockdiagramm ist, das eine Prozessierungseinrichtung wiedergibt,
die in der Speichereinrichtung nach 2 vorgesehen
ist;
-
4A eine
Blockdarstellung ist, die Inhalte einer nichtflüchtigen Speichereinrichtung
wiedergibt, die in der Speichereinrichtung nach 2 enthalten ist;
-
4B eine
Darstellung eines registrierten Wertes zur Identifikation ist;
-
4C eine
Darstellung einer Tabelle einer Registrationsbevollmächtigungsdatenbasis
ist;
-
5A die
Inhalte eines Inhaltsverzeichniseingangs darstellt, der in der nichtflüchtigen
Speichereinrichtung nach 4A enthalten
ist;
-
5B ein
Flußdiagramm
eines Löschungsprozesses
ist;
-
5C ein
Flußdiagramm
eines Prozesses ist, der bei einem Fehler zur Löschung führt;
-
5D ein
Flußdiagramm
eines Prozesses ist, der zur Löschung
bei Fälschung
führt;
und
-
6 eine
Blockdarstellung eines Computersystems ist, auf dem Ausführungsformen
realisiert werden können.
-
In
der nachfolgenden Beschreibung werden zu Zwecken der Erläuterungen
bestimmte Einzelheiten hervorgehoben, um ein sorgfältiges Verständnis der
Erfindung zur Verfügung
zu stellen. Jedoch ist es ersichtlich, daß die Erfindung ohne diese
speziellen Einzelheiten realisiert werden kann. Bei einigen Beispielen
sind wohl bekannte Strukturen und Einrichtungen in der Form von
Blockdarstellungen dargestellt, um es zu vermeiden, daß die Erfindung
unnötiger
Weise unverständlich
wird.
-
ÜBERBLICK
-
Zum
Speichern, Aufrechterhalten und Zugreifen von Daten wird ein Lösungsversuch
zur Verfügung
gestellt. Allgemein werden gemäß einem
Gesichtspunkt Daten auf einer Speichereinrichtung gespeichert und
nach einer vorbestimmten Zeit gelöscht. Bei einem anderen Gesichtspunkt
werden die Daten gelöscht,
falls eine nicht autorisierte Fälschung
der Speichereinheit auftritt. Bei einem weiteren Gesichtspunkt werden
die Daten in dem Fall eines Fehlers des nichtflüchtigen Speichers in der Speichereinheit
gelöscht.
Ein anderer Lösungsansatz
bezieht eine hardwaremäßige Speichereinheit ein,
wo die Daten dauerhaft gespeichert und authentifiziert werden können. Dieser
Lösungsansatz
dient dazu, die Einrichtung zu erzeugen, die ihr eigenes Betriebssystem
mit einer sicheren Hardware- und Softwareschnittstelle hat. Die
Schnittstelle stellt sicher, daß die
Veränderung
der Daten nicht erlaubt wird. Die vorliegende Erfindung kann auf
derartigen Einrichtungen verwendet werden, wo die Authentizität der Daten
kritisch ist. Diese Gesichtspunkte werden nachfolgend in weiteren
Einzelheiten beschrieben.
-
SYSTEMÜBERBLICK
-
Die 1 stellt
ein System 100 zum Speichern von Daten dar. Eine oder mehrere
Stationen 102 sind über
ein Netzwerk 104 gekoppelt. Die Stationen 102 weisen
jeweils einen Computer, eine Workstation oder andere ähnliche
Verfahrensmechanismen auf. Zum Beispiel kann bei einer Ausführungsform
jede Station 102 ein Computersystem für allgemeine Zwecke der in 6 gezeigten
Art sein, die weiter unten beschrieben wird. Die Stationen 102 können jeweils
einen Teilnehmer in einer Teilnehmer-/Server-Umgebung (client-/server-environment) darstellen.
Unter Verwendung des Netzwerkes 104 kann eine Station 102 mit
irgendeiner anderen Station in Verbindung treten.
-
Eine
oder mehrere Speichereinheiten 106 sind vorgesehen, um
Daten zu speichern und aufrecht zu erhalten. Speichereinheiten 106 können an das
Netzwerk 104 über
ein Link 108 angeschlossen sein, um mit anderen Einrichtungen
betrieben zu werden, wie etwa Stationen 102, die an das
Netzwerk 104 angeschlossen sind. Das Verbindungsglied bzw. Link 108 kann
von irgendeiner Art von Kommunikationsmedium sein, um Daten zwischen
Speichereinheiten 106 und anderen Einrichtungen auszutauschen.
Beispiele von Verbindungsgliedern 108 umfassen Netzwerkanschlüsse, Ethernet,
Lan- oder Wan-Anschlüsse
oder irgendeine Art von drahtlosem Übertragungsmedium. Alternativ
können
Speichereinheiten 106 auch unmittelbar an eine bestimmte Station 102 unter
Verwendung eines lokalen Links bzw. Verbindungsgliedes 112 angeschlossen
werden. Speichereinheiten 106 können auch in anderen Konfigurationen
verwendet werden, die z.B. unmittelbar an eine bestimmte Anzahl
von Stationen 102 angeschlossen sind, um einen lokalen
Speicher für
die bestimmten Stationen 102 zur Verfügung zu stellen. Verbindungsglieder 108 können auch
eine Schnittstelle von einer Station zu einer Speichereinrichtung aufweisen,
wie etwa ein SCSI-Interface bzw. -Schnittstelle.
-
In
dieser Anordnung kann jede Station 102 Informationen in
einer Speichereinheit 106 über ein Verbindungsglied 108 speichern
oder wiedergewinnen, in dem eine passende Nachricht über das
Netzwerk 104 übertragbar
ist.
-
Das
System 100 enthält
auch eine Registrierungsautorität 110,
die verbindungsmäßig an das Netzwerk 104 angekoppelt
ist und stellt die Registrierung von Speichereinheiten 106 zur
Verfügung,
wie es in weiteren Einzelheiten im folgenden beschrieben ist.
-
SPEICHEREINHEITEN
-
Die 2A ist
eine Blockdarstellung, die eine Speichereinheit 106 darstellt.
Die Speichereinheit 106 enthält eine oder mehrere nichtflüchtige Speichereinrichtungen 200 und 202.
Bei einer Ausführungsform
gibt es zwei nichtflüchtige
Speichereinrichtungen 200 und 202, die einen redundanten
Datenspeicher zur Verfügung
stellen. Jedoch ist die Erfindung nicht auf eine bestimmte Anzahl
von Speichereinrichtungen 200, 202 beschränkt. Wie
es in 2B dargestellt ist, werden Daten
sowohl in die nichtflüchtige
Speichereinrichtung 200 als auch 202 hineingeschrieben.
Folglich werden, wie in 2C dargestellt,
falls eine der nichtflüchtigen
Speichereinrichtungen 200, 202 nicht verfügbar ist,
z.B. aufgrund eines Fehlers bzw. Fehlzugriffes, Daten in die andere nichtflüchtige Speichereinrichtung 200 oder 202 geschrieben.
Die nichtflüchtigen
Speichereinrichtungen 200 und 202 können von
irgendeiner Art von nichtflüchtigem
Speicher sein, z.B. einer oder mehrerer magnetischer oder optischer
Platten, Bänder
oder anderer Arten von nichtflüchtigen
Speichern, in denen gespeicherte Daten zurückbehalten werden, falls keine
Energie bzw. Leistung zugeführt
wird.
-
Die
Speichereinheit 106 enthält einen oder mehrere Sensoren,
die in 2 als S1 bis S4 zu erkennen
sind, um einen nicht autorisierten Zugriff auf die Speichereinheit 106 zu
erfassen. Die Sensoren S1 bis S4 sind Einrichtungen, die einen Eingriff
in die Speichereinheit 106, einen nicht autorisierten Zugriff auf
die Speichereinheit oder eine nicht autorisierte Fälschung
mit oder Sperrung einer Speichereinheit erfassen. Die Sensoren S1
bis S4 sind mechanische, elektromechanische oder elektronische Einrichtungen,
die ein Signal in Reaktion auf ein erfaßtes Ereignis erzeugen. Zum
Beispiel ist bei einer Ausführungsform
jeder der Sensoren S1 bis S4 ein Mikroschalter, der sich öffnet oder
schließt,
wenn eine Umhüllung des
Speichermediums geöffnet
wird. Jeder Sensor S1 bis S4 ist an eine Prozessoreinheit 204 über ein Verbindungsglied 208 angekoppelt.
-
Die
Speichereinheit 106 enthält eine Verarbeitungseinheit 204,
die den Fluß von
Daten zu und von der Speichereinheit 106 über das
Verbindungsglied 108 steuert und andere Verarbeitungsfunktionen
durchführt.
Die Verarbeitungseinheit 204 steuert auch den Betrieb der
nichtflüchtigen
Speichereinrichtungen 200 und 202 einschließlich dem
Schreiben von Daten in die nichtflüchtigen Speichereinrichtungen 200 und 202 über ein
Verbindungsglied 208 und das Lesen von Daten von diesen.
Die Verarbeitungseinheit 204 ist verbindungstechnisch auch
an die Sensoren S1 bis S4 über
ein Verbindungsglied 208 angeschlossen. Die Verbindungsglieder
bzw. Links 206 und 208 können in dergleichen Weise wie
die Verbindungsglieder 108 realisiert sein und ermöglichen
den Austausch von Daten zwischen der Verarbeitungseinheit 204 und
den nichtflüchtigen
Speichereinrichtungen 200 und 202 und zwischen
der Verarbeitungseinheit 204 bzw. den Sensoren S1 und S4.
-
Die
Speichereinheit 106 enthält optional auch Reservestromversorgungen 210 und 212,
die jeweils Energie für
die Speichereinheit 106 und ihre Komponenten zur Verfügung stellen,
einschließlich den
nichtflüchtigen
Speichereinrichtungen 200 und 202, der Verarbeitungseinheit 204 und
den Sensoren S1 bis S4. Die Reservestromversorgungen 210 und 212 werden
in einer idealen Weise so in die Tat umgesetzt, daß entweder
die Reservestromversorgung 210 oder 212 einzeln
ausreichend Energie für
die Speichereinheit 106 zur Verfügung stellen können, um
in dem Fall eines Energieverlustes den Betrieb übernehmen zu können. Zum
Beispiel können
die Reservestromversorgungen 210 und 212 unter
Verwendung von Batterien bzw. Akkus oder einer nicht unterbrechbaren
Energiezufuhr (UPS) in die Tat um gesetzt werden. Bevorzugt sind
die Reservestromversorgungen eingebaute Batterien, die Reserveenergie
für die
Verarbeitungseinheit 204 bereitstellen.
-
PROZESSEINHEIT
-
Die 3 ist
eine Blockdarstellung, die eine Verarbeitungseinheit 204 darstellt.
Die Verarbeitungseinheit 204 enthält eine Kommunikationsschnittstelle 300,
die die Kommunikation bzw. Verbindung zwischen der Verarbeitungseinheit 204 und
anderen Einrichtungen außerhalb
der Speichereinheit 106 über ein Verbindungsglied 108 steuert,
puffert und regelt. Zum Beispiel kann die Kommunikationsschnittstelle 300 eine
E-/A-Steuerung, wie etwa eine SCSI, IEEE1394 oder eine Ethernet-Steuerung
sein. Die Verarbeitungseinheit 204 enthält eine Sensorsteuerung 302,
die als Schnittstelle dient und eine Verbindung zwischen den Sensoren
S 1 bis S4 und der Verarbeitungseinheit 204 über das
Link bzw. das Verbindungsglied 208 zur Verfügung stellt.
Zum Beispiel ist die Sensorsteuerung eine analoge E-/A-Schnittstelle.
-
Die
Verarbeitungseinheit 204 enthält auch eine nichtflüchtige Speichersteuerung 304,
die die nichtflüchtigen
Speichereinrichtungen 200 und 202 über ein
Verbindungsglied 206 steuert. Z. B. ist die Speichersteuerung 204 eine
Plattensteuerung. Die Verarbeitungseinheit 204 enthält auch
einen Prozessor 306, der den Betrieb der Verarbeitungseinheit 204 und
ihrer hier beschriebenen Komponenten steuert. Der Prozessor 306 ist
z.B. ein Mikroprozessor.
-
Die
Verarbeitungseinheit 204 enthält einen flüchtigen Speicher 308,
wie etwa einen RAM, der Daten und Befehle für den Prozessor 306 enthält. Die Verarbeitungseinheit 204 enthält auch
eine nichtflüchtigen
Speicher 310, wie etwa einen ROM, einen PROM, einen EPROM,
eine Flash-Speicher oder andere nichtflüchtige Speicher.
-
Die
Verbindungs- bzw. Kommunikationsschnittstelle 300, die
Sensorsteuerung 302, die nichtflüchtige Speichersteuerung 304,
der Prozessor 306, der flüchtige Speicher 308 und
der nichtflüchtige Speicher 310 sind
verbindungstechnisch über
ein Verbindungsglied bzw. Link 312 gekoppelt, das eine Kommunikation
zwischen diesen Bestandteilen ermöglicht. Ein Bei spiel des Verbindungsgliedes 312 ist ein
Kommunikationsbus oder die Kombination eines Adreßbusses
und eine Datenbusses.
-
Bevorzugt
arbeitet die Verarbeitungseinheit 204 unter der Steuerung
eines Realzeit-Betriebssystems
(OS, wie etwa UNIX). Eines oder mehrere gespeicherte Programme,
die unter der Steuerung des OS betrieben werden, verwalten die Speichereinheiten
und die Prozesse, die ferner hierin beschrieben werden.
-
NICHTFLÜCHTIGER
SPEICHER
-
Die 4A stellt
die Inhalte der nichtflüchtigen
Speichereinrichtungen 200 und 202 dar. Nicht flüchtige Speichereinrichtungen 200 und 202 enthalten
jeweils Speicher-Identifikationsinformationen 400 oder
speichern diese, die die nichtflüchtigen
Speichereinrichtungen 200 und 202 eindeutig identifizieren.
Zum Beispiel können
die Speicher-Identifikations(ID)-Informationen 400 eindeutige
Seriennummern für
nichtflüchtige
Speichereinrichtungen 200 und 202 enthalten. Die
Speicher-ID-Informationen 400 spezifizieren auch Informationen,
die während der
Registrierung der Speichereinheit 306 erhalten werden können, die
versendet werden, um die Speichereinheit 106 zu authentizitieren
bzw. zu berechtigen. Die Registrierung der Speichereinheiten wird
im folgenden in weiteren Einzelheiten beschrieben.
-
Die
nichtflüchtigen
Speichereinrichtungen 200 und 202 enthalten auch
Verzeichnisinformationen 402, die Informationen über Daten 404 spezifizieren,
die in den nichtflüchtigen
Speichereinrichtungen 200 und 202 enthalten sind.
Gemäß einer
Ausführungsform
enthalten Daten 404 mehrere Datenfelder und Dateiverzeichnisinformationen 402 enthalten mehrere
Dateiverzeichniseinträge
bzw. -eingänge 500,
die Informationen über
die Datenfelder in den Daten 404 entsprechen und diese
spezifizieren. Ein feldorientiertes Speichersystem ist nicht erforderlich. Die
Daten 404 können
Informationen von irgendeiner Art speichern und die Dateiverzeichnisinformationen 402 können irgendwelche
Meta-Daten sein, die die Daten 404 beschreiben.
-
5A stellt
die Inhalte eines Verzeichniseintrages 500 gemäß einer
Ausführungsform
dar. Der Verzeichniseintrag 500 spezifiziert den Namen des
entsprechenden Datenfeldes (Feldname 502), die Erzeugungsdaten
für das
entsprechende Datenfeld (Erzeugungsdaten 504), das Verfallsdatum
des entsprechenden Datenfeldes (Verfallsdaten bzw. -datum 506)
und andere Feldverwaltungsinformationen 508, die in Abhängigkeit
zu einer bestimmten Anwendung variieren können Zum Beispiel sind die
anderen Feldverwaltungsinformationen von einem Feldtyp, einer verknüpften Anwendung,
usw.
-
Der
Verzeichniseintrag 500 spezifiziert auch Replikationsinformationen 510,
die einen oder mehrere Verzeichniseinträge 512 (R1, R2 ,....RN)
für Quellen
des Datenfeldes identifizieren, die mit dem Feld 502 verknüpft sind.
Jedes Feld enthält
die vollständige
Historie der Stammdaten mit dem Speicher-ID-Informationen, Replikationsdaten
und Verzeichnispfade zu der Speicher-ID. Der Feldname der Daten
wird von dem Original nicht geändert.
Die Ablaufdaten werden ebenfalls kopiert.
-
Wie
hierin verwendet, bedeutet „Ablaufdatum" eine Zeit, einen
Tag oder ein Datum zu dem verknüpfte
Daten ungültig
oder unbrauchbar sind. Informationen in der Speichereinrichtung
werden durch die OS verwaltet.
-
LÖSCHUNG NACH
VERFALL
-
Im
folgenden wird die Löschung
nach dem Verfall bzw. Ablauf beschrieben. Gemäß einer Ausführungsform
werden Daten, die in nichtflüchtigen Speichereinrichtungen 200 und 202 gespeichert
werden, nach einer bestimmten Zeitdauer gelöscht. Dieses Verfahren ist
Daten spezifisch, was bedeutet, daß verschiedene Daten in den
nichtflüchtigen
Speichereinrichtungen 200 und 202 über verschiedene Zeitdauern
verbleiben können.
Auch unterschiedliche Verfallsdaten können auf verschiedene Daten anwendbar
sein. Einige Daten können überhaupt nicht
gelöscht
werden und können
undefiniert bzw. unendlich in den nichtflüchtigen Speichereinrichtungen 200 und 202 verbleiben.
-
Bezugnehmend
auf die 4A, die 5A und
die 5B werden Verzeichniseinträge 500, die von den
Verzeichnisinformationen 402 umfaßt werden, geprüft, um zu
bestim men, ob das Verfallsdatum 506 erreicht worden ist.
Dies wird durchgeführt,
indem das Verfallsdatum 506 für einen bestimmten Verzeichniseintrag 500 mit
dem gegenwärtigen
Datum verglichen wird. Alternativ kann anstelle der Aufrechterhaltung
eines Verfallsdatums 506 in jedem Verzeichniseintrag 500 eine „Zeit zur
Aufbewahrung" in
jedem Verzeichniseintrag aufrechterhalten werden und das Verfallsdatum
kann sowohl von dem Erzeugungsdatum und der „Zeit zur Aufbewahrung" bestimmt werden.
Ein alternativer Ansatz ist es, ein Mittel zu haben, d sämtliche
der Einträge
in sämtlichen der
Verzeichnisse besucht, um die Zeit und das Datum des Systems gegenüber dem
Verfallsdatum der Einträge
zu prüfen.
Wenn das Verfallsdatum abgelaufen ist, löscht das Mittel die Einträge.
-
Die 5B ist
ein Flußdiagramm
eines bevorzugten Verfahrens zum Löschen von Daten. Im Block 520 wird
ein gegenwärtiger
Datums-/Zeitwert empfangen. Zum Beispiel fordert die Verarbeitungseinheit 204 einen
Datums-/Zeitwert und empfängt diesen,
indem eine Funktion eines Betriebssystems aufgerufen wird, das den
Betrieb der Verarbeitungseinheit steuert. Alternativ enthält die Verarbeitungseinheit
eine Uhr bzw. eine Takteinrichtung, die unmittelbar durch den Prozessor 306 angefragt
wird. Der gegenwärtige
Datums-/Zeitwert gibt dem gegenwärtigen
Tag, das Datum oder die Zeit der Ausführung des in 5D gezeigten
Verfahrens wieder. Bevorzugt wird der Wert des gegenwärtigen Datums/Zeit
in einem temporären
Platz zur späteren
Verwendung gespeichert, wie etwa in einem CPU-Register, einem Notizblockspeicherbereich
bzw. schnellen Hilfsspeicherbereich, oder einem Hauptspeicher.
-
Im
Block 522 wird ein Verzeichniseintrag 500 zur
Verarbeitung ausgewählt.
Bei einer Ausführungsform
bezieht der Block 522 die serielle Auswahl von sämtlichen
der Verzeichniseinträge 500 in
den Speichereinrichtungen 200, 202 ein. Alternativ
bezieht der Block 522 die Auswahl eines Verzeichniseintrages
auf der Grundlage eines heuristischen Verfahrens ein, wie etwa einem
zuletzt gegenwärtig
Verwendungs(LRU)-Algorithmus, der Wahrscheinlichkeit oder Statistiken.
-
Im
Block 524 wird eine Bestimmung durchgeführt, ob Daten, die durch den
gegenwärtigen
Verzeichniseintrag wiedergegeben werden, zu löschen sind oder nicht. Bei
einer Ausführungsform
bezieht der Block 524 die Prüfung ein, ob der gegenwärtige Datum-/Zeitwert, der
in dem Block 520 empfangen worden ist, größer als
oder gleich dem Verfallsdatumswert 506 ist, der in dem
gegenwärtigen
Verzeichniseintrag gespeichert ist. Falls dem so ist, wird dann
der gegenwärtige
Verzeichniseintrag gelöscht.
-
Sobald
eine Bestimmung durchgeführt
worden ist, daß bestimmte
Daten zu löschen
sind, werden die Daten, die mit dem bestimmten Verzeichniseintrag
verknüpft
sind, von Daten 404 gelöscht, wie
es durch den Block 526 gezeigt ist. Ansonsten geht die
Steuerung auf den Block 534 über. Sobald die bestimmten
Daten gelöscht
worden sind, wird der Verzeichniseintrag 500 gelöscht, wie
es durch den Block 534 dargestellt ist. Sämtliche
identischen Kopien der bestimmten Daten werden auch von den Daten 404 gelöscht, da
die Kopien das gleiche Verfallsdatum enthalten und auch geprüft werden.
-
Gemäß einer
Ausführungsform
wird die Löschung
von Daten 404 und des entsprechenden Verzeichniseintrags 500 aus
der Verzeichnisinformation 402 in den Blöcken 526, 530 und 534 durch Überschreiben
der Daten und des Verzeichniseintrages mit einem bestimmten Wert
durchgeführt.
Ein beispielhaft vorbestimmter Wert, der als zweckmäßig ermittelt
worden ist, ist 00H, obwohl andere vorbestimmte Werte auch verwendet
werden können.
Einige frühere
Lösungsansätze löschen lediglich
den Verzeichniseintrag ohne die Daten selbst zu löschen, was
es ermöglicht,
die Daten wieder zurück
zu gewinnen. Mit einem vorbestimmten Wert überschriebene Daten werden
als sicherer angesehen, weil die überschriebenen Daten schwieriger
zurück
zu gewinnen sind. Sobald die Daten von den Daten 404 gelöscht worden
sind und der entsprechende Verzeichnseintrag aus der Verzeichnisinformation 402 gelöscht worden
ist, können
die überschriebenen
Bereiche zum Speichern anderer Daten verwendet werden.
-
Gemäß einer
alternativen Ausführungsform werden
verschiedene vorbestimmte Werte verwendet, um verschiedene Daten
zu überschreiben.
Zum Beispiel nehme man an, das Verfallsdatum für ein bestimmtes Datenfeld,
das in der nichtflüchtigen
Speichereinrichtungen 200 enthalten ist, zeigt an, daß das bestimmte
Datenfeld zu löschen
ist. Eine Kopie des bestimmten Datenfeldes wird in der nichtflüchtigen
Speichereinrichtung 202 aufrechterhalten. Das bestimmte
Datenfeld in der nichtflüchtigen
Speichereinrichtung 200 kann mit einem ersten vorbestimmten
Wert überschrieben
werden, während
die Kopie des bestimmten Da tenfeldes in der nichtflüchtigen Speichereinrichtung 202 mit
einem zweiten vorbestimmten Wert überschrieben wird, der von
dem ersten vorbestimmten Wert unterschiedlich ist. Verschiedene
vorbestimmte Werte können
auch verwendet werden, um die entsprechenden Verzeichniseinträge zu überschreiben.
-
Gemäß einer
Ausführungsform
wird das Verfahren nach 5B durch
die Verarbeitungseinheit 204 durchgeführt. Insbesondere kann der
Prozessor 306 dieses Verfahren durchführen, indem ein oder mehrere
Befehle ausgeführt
werden, die in dem flüchtigen
Speicher 308 und dem nichtflüchtigen Speicher 310 aufrechterhalten
werden. Alternativ kann der Prozeß zum Prüfen von Einträgen in die Verzeichnisinformationen 402 außerhalb
der Speichereinheit 106 z.B. durch einen anderen Prozeß oder die
Station 102, die an das Netzwerk 104 angeschlossen
ist, durchgeführt
werden. In dieser Situation kann der andere Prozeß oder die
andere Station 102 über
das Verbindungsglied 108 die Speichereinheit 106 fragen,
um Verzeichnisinformation 402 zu erhalten.
-
Obwohl
die Speicher-ID-Informationen 404, die Verzeichnisinformationen 402 und
die Daten 404 beschrieben und dargestellt worden sind,
als wenn sie zusammen in den nichtflüchtigen Speichereinrichtungen 200 und 202 aufrechterhalten
werden, können
einige dieser Informationen getrennt an anderen Plätzen aufrechterhalten
werden. Zum Beispiel kann ein Teil oder sämtliche der Verzeichnisinformationen 402 in
dem flüchtigen
Speicher 308 der Verfahrenseinheit 204 aufrechterhalten
werden, wobei die Zeit verringert wird, die erforderlich ist, um
zu bestimmen, ob irgendwelche Datenfelder von den Daten 404 zu
löschen
sind.
-
LÖSCHUNG NACH
FEHLERFUNKTION DES NICHTFLÜCHTIGEN
SPEICHERS
-
Gemäß einer
anderen Ausführungsform
werden in dem Fall eines Fehlers bzw. Fehlschlags entweder der nichtflüchtigen
Speichereinrichtung 200 oder 202 sämtliche
Daten, die in den Daten 404 enthalten sind, und Verzeichniseinträge, die
in den Verzeichnisinformationen 402 enthalten sind, wie
zuvor beschrieben, gelöscht.
Die andere Speichereinrichtung wird dann als die primäre Speichereinrichtung bestimmt
und wird fortgesetzt verwendet. Eine beispielhafte Situation, in
der dies auftreten könnte,
ist wo eine Aktualisierung sowohl der nicht flüchtigen Speichereinrichtung 200 als
auch 202 durchgeführt wird
und ein Mediafehler bzw. -defekt oder Versagen verhindert, daß die Aktualisierung
entweder bei der nichtflüchtigen
Speichereinrichtung 200 oder 202 durchgeführt wird.
Da die nichtflüchtigen
Speichereinrichtungen 200 und 202 einen redundanten
Speicher zur Verfügung
stellen, werden die Daten von den nichtflüchtigen Speichereinrichtungen 200 oder 202,
die mißraten
sind, gelöscht,
so daß die
nichtflüchtigen
Speichereinrichtungen 200 und 202 keine verschiedenen
(und vorausgesetzter Weise gültigen) Daten
enthalten.
-
Die 5C ist
ein Flußdiagramm
eines bevorzugten Verfahrens zum Löschen einer Speichereinrichtung
in dem Fall eines Fehlers bzw. Versagens. Im Block 540 wird
ein Fehler bzw. ein Versagen einer Speichereinrichtung erfaßt. Zum
Beispiel kann der Block 540 die Schritte zum Erfassen bei
einem Anlaufprogramm oder einem Bootstrap-Ladeprogramm erfassen,
dass ein Energieversagen oder andere Fehler aufgetreten sind. Gemäß einer
Ausführungsform
hat jede Speichereinrichtung 200, 202 einen bestimmten
Speicherplatz, der einen Markierungswert speichert. Der Markierungswert
bzw. Zeigerwert ist ein vorbestimmter Wert, der ein schonendes Herunterfahren
bzw. schonendes Ausschalten der Speichereinrichtung bedeutet. Wenn
die Speichereinrichtung schonend heruntergefahren wird, wird der
vorbestimmte Markierungs- bzw. Zeigerwert in dem bestimmten Speicherplatz
gespeichert. Wenn die Speichereinrichtung hochgefahren wird, wird
der bestimmte Markierungswert bzw. Zeigerwert geprüft und dann
mit einem unterschiedlichen Wert überschrieben. Wenn folglich
ein unerwartetes Versagen bzw. ein unerwarteter Fehler auftritt,
enthält
der bestimmte Speicherplatz den Markierungswert bzw. Zeigerwert
nicht, und die Speichereinrichtung erfaßt dadurch, daß ein Fehler
bzw. ein Versagen aufgetreten ist.
-
Falls
ein Fehler oder Versagen erfaßt
worden ist, dann wird im Block 542 der nächste Verzeichniseintrag
unter den Verzeichniseinträgen 500 ausgewählt. Bei
einer Ausführungsform
bezieht der Block 542 eine serielle Wahl von sämtlichen
Verzeichniseinträgen 500 in
den Speichereinrichtungen 200, 202 ein. Alternativ
bezieht der Block 542 ein, daß ein Verzeichniseintrag auf
der Grundlage eines heuristischen Verfahrens ausgewählt wird,
wie etwa einem zuletzt gegenwärtig
Benutzungs(LRO)-Algorithmus, Wahrscheinlichkeit oder Statistiken.
-
Im
Block 544 werden sämtliche
Daten, die mit dem gegenwärtigen
Verzeichniseintrag verknüpft sind,
gelöscht,
indem beispielsweise die Daten mit einem vorbestimmten Wert überschrieben
werden. Im Block 552 wird der gegenwärtige Verzeichniseintrag gelöscht, indem
er beispielsweise überschrieben wird.
Falls nötig
wird das Verzeichnis selbst gelöscht.
-
Im
Block 554 wird eine Bestimmung durchgeführt, ob zusätzliche Verzeichniseinträge in den Verzeichnisinformationen
der Speichereinrichtung sind. Falls dem so ist, werden die Schritte
der Blöcke 542 und 552 für jeden
zusätzlichen
Verzeichniseintrag wiederholt.
-
Im
wahlweise vorhandenen Block 556 wird die andere Speichereinrichtung
als die primäre
Speichereinrichtung der Speichereinheit bezeichnet. Eine solche
Bezeichnung bedeutet, daß die
Speichereinheit weiter macht, mit Schreib-/Leseoperationen zu arbeiten,
die auf die nicht fehlerhafte bzw. nicht ausgefallene Speichereinrichtung
gerichtet sind. Auf diese Weise bleibt die Speichereinheit betreibbar,
wobei jedoch eine fehlerhafte Speichereinrichtung innerhalb der
Speichereinheit unbrauchbar gemacht wird. Sobald die Daten auf den
fehlerhaften bzw. ausgefallenen nichtflüchtigen Speichereinrichtungen 200 oder 202 gelöscht worden
sind, kann die Einrichtung neu initialisiert werden. Sobald eine
Bestimmung durchgeführt
worden ist, daß die
ausgefallene Einrichtung erfolgreich neu initialisiert worden ist,
können
die Daten, die in den nichtflüchtigen
Speichereinrichtungen 200 oder 202 enthalten sind,
die nicht ausgefallen sind, in die zurückgewonnenen nichtflüchtigen
Speichereinrichtungen 200 oder 202 kopiert werden.
In dem Fall, daß die
fehlerhaften bzw. ausgefallenen nichtflüchtigen Speichereinrichtungen 200 oder 202 nicht
erfolgreich neu initialisiert werden können, können die Daten von den nichtflüchtigen Speichereinrichtungen 200 oder 202,
die nicht ausgefallen sind bzw. fehlerhaft sind, in eine nichtflüchtige Speichereinrichtung
in einer anderen Speichereinheit 106 kopiert werden.
-
Die
Verwendung von redundanten nichtflüchtigen Speichereinrichtungen 200, 202 stellt
eine bemerkenswert bessere Datenzuverlässigkeit zur Verfügung, weil
es äußerst unwahrscheinlich
ist, daß beide
nichtflüchtigen
Speichereinrichtungen 200 und 202 zu der gleichen
Zeit ausfallen bzw. fehlerhaft sind. Um eine zusätzliche Datenzuverlässigkeit
zur Verfügung
zu stellen, können
andere Speichereinrichtungen 106, die jeweils redundante
nichtflüchtige Speichereinrichtungen 200 und 202 enthalten,
eingesetzt werden, um eine weitere Redundanz zur Verfügung zu
stellen.
-
FÄLSCHUNGSSCHUTZ
-
Gemäß einer
Ausführungsform
werden Speichereinheiten 106 gegenüber einer unautorisierten Fälschung
bzw. einem unautorisierten Zugriff geschützt. Die Sensoren S1 bis S4
werden durch Verfahrenseinheiten 204 über ein Link bzw. ein Verbindungsglied 208 überwacht,
um ein Fälschen
der Speichereinheit 106 zu erfassen. Die Auswahl und die
Einstellung der Sensoren S1 bis S4 wird durch die Erfordernisse
einer bestimmten Anwendung festgelegt, ist jedoch im allgemeinen
dazu bestimmt, einen nicht autorisierten Zugriff auf die Speichereinheit 106 über das
Brechen von Siegeln bzw. Abdichtungen, das Öffnen von gesiegelten bzw.
abgedichteten Abteilen, oder einen anderen gewalttätigen Eintritt
in die Speichereinheit 106 zu bemerken.
-
In
dem Fall, daß die
Sensoren S1 bis S4 einen nicht autorisierten Zugriff auf die Speichereinheit 106 erfassen,
wird ein Fälschungssignal
durch die Sensoren S1 bis S4 für
die Verarbeitungseinheit 204 zur Verfügung gestellt. In Reaktion
auf das Fälschungssignal
löscht
die Verarbeitungseinheit 204 die Speicher-ID-Informationen 404,
Verzeichnisinformationen 402 und Daten 404 in
der zuvor für
die nichtflüchtigen
Speichereinrichtungen 200 und 202 beschriebenen
Weise. Dies verhindert die nicht autorisierte Verwendung von Daten,
die in der Speichereinheit 106 gespeichert werden.
-
5D ist
ein Flußdiagramm
eines bevorzugten Verfahrens zum Löschen einer Speichereinrichtung
in dem Fall der Fälschung
mit der Speichereinrichtung. Im Block 560 wird eine Störung bei
einer Speichereinrichtung, wie etwa das Fälschen mit der Speichereinrichtung,
ein Eingriff in die Speichereinrichtung, eine Öffnung der Speichereinrichtung,
usw., erfaßt.
Zum Beispiel kann der Block 560 die Schritte einbeziehen,
das erfaßt
wird, daß einer
oder mehrere der Sensoren S1 bis S4 aktiviert werden oder ein Erfassungssignal
generieren.
-
Falls
ein Fälschungsereignis
erfaßt
wird, dann wird im Block 562 der nächste Verzeichniseintrag unter
den Verzeichniseinträgen 500 ausgewählt. Bei
einer Ausführungsform
bezieht der Block 562 die serielle Auswahl sämtlicher
Verzeichniseinträge 500 in
den Speichereinrichtungen 200, 202 ein. Alternativ bezieht
der Block 562 ein, daß ein
Verzeichniseintrag auf der Grundlage eines heuristischen Prozesses ausgewählt wird,
wie etwa einem zuletzt gegenwärtig Benutzungs(LRO)-Algorithmus,
Wahrscheinlichkeit oder Statistiken.
-
Im
Block 564 werden sämtliche
Daten, die mit dem gegenwärtigen
Verzeichniseintrag verknüpft sind,
gelöscht,
in dem z.B. die Daten mit einem vorbestimmten Wert überschrieben
werden. Im Block 572 wird der gegenwärtige Verzeichniseintrag gelöscht, indem
er z.B. überschrieben
wird. Falls nötig wird
das Verzeichnis selbst gelöscht.
-
In
dem Block 574 wird eine Bestimmung durchgeführt, ob
zusätzliche
Verzeichniseinträge
in den Verzeichnisinformationen der Speichereinrichtung sind. Falls
dem so ist, werden die Schritte der Blöcke 562 bis 572 für jeden
zusätzlichen
Verzeichniseintrag wiederholt.
-
Bei
einer Ausführungsform
beziehen der Block 562 oder andere Blöcke den Schritt zur Erzeugung
eines Alarms für
eine autorisierte Person ein, um erkennbar zu machen, daß ein Fälschen aufgetreten
ist und die Löschungsoperationen
durchgeführt
worden sind. Zum Beispiel erzeugt im Block 562 die Verarbeitungseinheit 204 eine
Nachricht zu einer vorbestimmten Station 102, daß die Station
informiert, daß eine
Fälschung
erfaßt
worden ist und ein Löschen
unterwegs ist.
-
Gemäß einer
anderen Ausführungsform
stellen in dem Fall eines Energieausfalls Reservestromversorgungen 210 und 212 Energie
für die
Speichereinheit 106 einschließlich den Sensoren S1 bis S4 zur
Verfügung.
Jedoch arbeiten nichtflüchtigen
Speichereinrichtungen 200 und 202 in einem Energiesparmodus.
Wenn sie im Energiesparmodus betrieben werden, sind normale Schreib-
und Leseoperationen für
nichtflüchtige
Speichereinrichtungen 200 und 202 gesperrt, um
Energie zu sparen. Sobald die Energie wieder vorhanden ist, werden
Schreib- und Leseoperationen für
die nichtflüchtigen
Speichereinrichtungen 200 und 202 fortgesetzt.
Während
jedoch die Speichereinheit 106 im Energiesparmodus betrieben wird,
wenn die Sensoren S1 bis S4 einen nicht autorisierten Zugriff auf
die Speichereinheit 106 erfassen, wird die gesamte verfügbare Energie
verwendet, um die Speicher-ID-Informationen 400,
die Verzeichnisinformationen 402 und die Daten 404 aus den
nichtflüchtigen
Speichereinrichtungen 200 und 202 zu löschen, wie
zuvor beschrieben. Auf diese Weise kann der Löschprozeß lediglich umgangen werden,
indem die Energie von einer Speichereinheit weggenommen wird.
-
SPEICHEREINHEIT-REGISTRIERUNG
-
Gemäß einer
Ausführungsform
werden Speichereinheiten 106 mit einer Registrierungsautorität 110 registriert,
um eine Berechtigung bzw. Authentifikation der Speichereinheiten 106 zur
Verfügung
zu stellen. Gemäß diesem
Lösungsansatz
wird jede Speichereinheit 106 mit einer Registrierungsberechtigung 110 bzw.
Registrierungsautorität
registriert, indem ein einzigartiger Identifikationswert für eine Speichereinheit
für die
Registrierungsautorität 110 bzw.
die Registrierungsberechtigung 110 zur Verfügung gestellt
wird. In Folge wird ein registrierter Identifikationswert durch
die Registrierungsberechtigung bzw. -autorität 110 zur Verfügung gestellt
und in der Speicher-ID-Information 400 in den nichtflüchtigen Speichereinrichtungen 200 und 202 gespeichert.
Sobald eine Speichereinheit 106 in dieser Weise registriert
ist, kann eine Station 102 verifizieren, daß eine bestimmte
Speichereinheit 106 mit der Registrierungsautorität bzw. -berechtigung 110 registriert
worden ist, indem die registrierte ID-Nummer von der bestimmten
Speichereinheit 106 angefordert wird und dann mit der Registrierungsautorität bzw. -berechtigung 110 verglichen
und überprüft wird,
daß die
registrierte Speicher-ID-Nummer gültig ist. Dies stellt sicher,
daß Daten
ursprünglich
und authentisch sind, die in einer bestimmten Speichereinheit 106 enthalten
sind.
-
Die 4B ist
eine Darstellung einer bevorzugten Ausführungsform des registrierten
Identifikationswertes 420, der ein Kopfsegment 422,
ein Einrichtungsmarkierungs- bzw. – zeigersegment 424 und
ein Seriennummersegment 426 aufweist.
-
Das
Kopfsegment 422 identifiziert die Registrierungsautorität bzw. -berechtigung 110.
Zum Beispiel enthält
das Kopfsegment einen vorbestimmten Wert, der einzigartig verknüpft ist
innerhalb des Kontextes der Speichereinheit oder des OS mit der
Registrierungsautorität
bzw. -berechtigung 110. Das Einrichtungsmarkierungsegment 424 identifiziert
den Her steller- oder Markennamen einer Speichereinheit in einzigartiger
Weise. Das Einrichtungsmarkierungs- bzw. zeigersegment 424 kann
ein Herstellername oder eine Codenummer sein, die einen bestimmten Hersteller
in einzigartiger Weise kenntlich macht. Das Seriennummersegment 426 enthält die Seriennummer
der Speichereinheit.
-
Die 4C ist
ein Diagramm der Datenbasis 111. Bevorzugt weist die Datenbasis 111 zumindest eine
Tabelle 460 auf, die eine oder mehrere Zeilen 462 hat.
Jede Zeile 462 entspricht einer Speichereinheit 106.
Die Tabelle 460 weist Spalten 464 bis 468 auf,
die Hersteller- oder Markennamenwerte, Seriennummerwerte und Zuordnungsdatenwerte
speichern. Jeder Zuordnungsdatenwert gibt das Datum zu erkennen,
an dem eine Zeile, die eine Speichereinrichtung darstellt, zu der
Tabelle 460 hinzugefügt wurde.
-
ORIGINALITÄT VON DATEN
-
Unter
einigen Umständen
kann es wünschenswert
sein, die Ursprünglichkeit
und die Einzigartigkeit von bestimmten Daten sicher zu stellen,
die in Dateneinheiten 106 gespeichert sind, indem die bestimmten
Daten nicht geändert
oder gelöscht
werden. Auf diese Weise kann die Speichereinheit einem externen
Prozeß oder
einer externen Einrichtung „garantieren" , daß bestimmte
Daten ungeändert sind,
seit sie ursprünglich
geschrieben wurden.
-
Gemäß einer
Ausführungsform
wird ein Buchprüfungspfad
erzeugt, wenn Daten von einer Einrichtung zu einer anderen kopiert
werden. Wie in 5A dargestellt, spezifiziert
jeder Parallel- bzw. Wiederholungseintrag (R1, R2, ... RM) ein Parallelversuchs-
bzw. Wiederherstellungsdatum 514 und Quelleninformationen,
die eine Speicher-ID 516 und einen Verzeichniseintrag 512 enthalten.
Um Daten von einer Quelleneinrichtung bzw. Sourceeinrichtung zu
einer Zieleinrichtung zu replizieren bzw. zu wiederholen, wird ein
Wiederholungsbefehl zu der Zieleinrichtung unter Spezifikation der
Quelleneinrichtung zusammen mit den Feldinformationen ausgegeben. Die
Zieleinrichtung gibt dann einen speziellen Lesebefehl für die Quelleneinrichtung
aus, so daß die
Daten verschlüsselt
werden, um eine Veränderung
der Daten zu vermeiden, wenn sie von der Quelleneinrichtung zu der
Zieleinrichtung übertragen
werden.
-
Deshalb
wird gemäß einer
Ausführungsform ein
Lösungsansatz
zur Verfügung
gestellt, um sicherzustellen, daß bestimmte Daten, die in einer
Speichereinheit 106 gespeichert sind, nur einmal geschrieben
und niemals geändert
werden, obwohl die bestimmten Daten eine unbegrenzte Anzahl von
Malen gelesen werden können
(Nur-Lesezugriff). Der Lösungsansatz
ist datenspezifisch und erfordert nicht, daß sämtliche gespeicherten Daten
als nur lesbare Daten aufrechterhalten werden.
-
Gemäß einer
Ausführungsform
werden nachdem nur lesbare Daten in den nichtflüchtigen Speichern 200 und 202 gespeichert
sind, der Verzeichniseintrag 500, der mit den nur lesbaren
Daten verknüpft
ist, aktualisiert, um wiederzugeben, daß die verknüpften Daten nur lesbare Daten
sind und niemals zu überschreiben
oder zu ändern
sind. Die Aktualisierung wirkt als eine Erklärung für andere Einrichtungen oder
Prozesse, daß die
gespeicherten Daten einzigartig und ungeändert sind. Nachdem z.B. nur
lesbare Daten in die nichtflüchtigen
Speicher 200 und 202 geschrieben worden sind,
werden andere Feldverwaltungsinformationen 508 in dem Verzeichniseintrag 500,
die mit nur lesbaren Daten verknüpft
sind, aktualisiert, um wiederzugeben, daß die verknüpften Daten nur lesbar sind
und nicht zu ändern
sind. Wenn danach Daten der nichtflüchtigen Speicher 200 und 202 zu ändern sind,
wird der Verzeichniseintrag 500, der mit den Daten verknüpft ist, geprüft, um zu
bestimmen, ob die bestimmten Daten nur lesbar sind. Falls nicht,
werden die verknüpften Daten,
wie hierin beschrieben, geändert.
Falls dem so ist, werden die verknüpften Daten und der Verzeichniseintrag 500 nicht
geändert,.
-
Ein
anderes Verfahren zur Zusicherung der Ursprünglichkeit ist es, Schreibbefehle
zu beschränken,
die auf einer bestimmten Einrichtung durchgeführt werden können. Zum
Beispiel kann die Einrichtung in Situationen, in denen die Felder,
die in der Einrichtung gespeichert sind, als authentische Datenfelder
aufrecht zu erhalten sind, um die Ursprünglichkeit sicher zu stellen,
einen speziellen Status zum Schreiben erfordern. Ohne den speziellen
Schreibstatus geht ein Schreibbefehl fehl, wenn der gleiche Feldname
in einer Einrichtung vorkommt.
-
Dieser
Lösungsansatz
ist für
beliebige der Lösungsansätze anwendbar,
die hier beschrieben sind, einschließlich der Löschung nach Ablauf, der Löschung nach
Fälschung
und der Lö schung
nach den Fehler- bzw. Betriebsstörungsansätzen, die
hierin beschrieben sind. Der Lösungsansatz
stellt einen Weg zur Verfügung,
um die Gültigkeit
der gespeicherten Daten unempfindlich zu machen oder zu garantieren,
so daß die
gespeicherten Daten zuverlässiger
sind, beispielsweise als gesetzlicher Beweis. Die Inhalte und die
Einzigartigkeit der Daten werden sichergestellt.
-
Nachfolgend
wird das Computersystem im Überblick
erläutert.
Die 6 ist eine Blockdarstellung, die ein Computersystem
darstellt, das verwendet werden kann, um die Gesichtspunkte der
Erfindung in die Tat umzusetzen; z.B. eine alternative Ausführungsform
der Verarbeitungseinheit 204. Die Verarbeitungseinheit 204 enthält einen
Bus 602 oder andere Kommunikations- bzw. Verbindungsmechanismen,
um Informationen zu übertragen,
und ein Prozessor 604 ist mit einem Bus 602 gekoppelt,
um Informationen zu verarbeiten. Die Verarbeitungseinheit 204 enthält auch
einen Hauptspeicher 606, wie etwa einen Speicher mit wahlfreiem
Zugriff (RAM) oder eine andere dynamische Speichereinrichtung, die
an den Bus 602 gekoppelt ist, um Informationen und Befehle
zu speichern, die durch den Prozessor 604 auszuführen sind.
Der Hauptspeicher 606 kann auch verwendet werden, um temporäre variable
oder andere Zwischeninformationen während der Ausführung der
Befehle zu speichern, die durch den Prozessor 604 auszuführen sind.
Die Verarbeitungseinheit 204 enthält ferner einen Speicher mit
ausschließlichem
Lesezugriff (ROM) 608 oder eine andere statische Speichereinrichtung,
die an den Bus 602 angekoppelt ist, um statische Informationen
und Befehle für
den Prozessor 604 zu speichern. Die Speichereinrichtung 610,
wie etwa eine magnetische Platte oder eine optische Platte, ist,
um Informationen und Befehle zu speichern, vorgesehen und an den
Bus 602 angekoppelt.
-
Eine
Verarbeitungseinheit 204 kann über einen Bus 602 an
eine Anzeige bzw. einen Display 612, wie etwa eine Kathodenstrahlröhre (CRT),
angekoppelt sein, um Informationen für einen Computerbenutzer anzuzeigen.
Eine Eingabeeinrichtung 614, die alphanumerische und andere
Tasten aufweist, ist an den Bus 602 angekoppelt, um Informations-
und Selektionen zu dem Prozessor 604 zu übertragen.
Eine andere Art von Benutzereingabeeinrichtung ist die Cursorsteuerung 616,
wie etwa eine Maus, eine Rollkugel oder Cursor-Richtungstasten, um Richtungsinformationen
und Befehlsselektionen zu dem Prozessor 604 zu übertragen
und um eine Cursor-Bewegung auf der Anzeige 612 zu steuern.
Diese Einga beeinrichtung hat typischerweise zwei Freiheitsgrade
in zwei Achsen, einer ersten Achse (z.B. x) und einer zweiten Achse
(z.B. y), die es der Einrichtung ermöglichen, Positionen in einer
Ebene kenntlich zu machen.
-
Die
Erfindung ist auf die Verwendung der Speichereinheit 106 zum
Speichern und Aufrechterhalten von Daten bezogen. Gemäß einer
Ausführungsform
wird die Speicherung und Aufrechterhaltung von Daten durch eine
Verarbeitungseinheit 204 in Reaktion darauf zur Verfügung gestellt,
daß der Prozessor 604 eine
oder mehrere Abfolgen von einem oder mehreren Befehlen ausführt, die
in dem Hauptspeicher 606 enthalten sind. Solche Befehle können in
den Hauptspeicher 606 von einem anderen Computer lesbaren
Medium eingelesen werden, wie etwa einer Speichereinrichtung 610.
Die Ausführung
der Abfolgen von Befehlen, die in dem Hauptspeicher 606 enthalten
sind, veranlassen den Prozessor 604, die Prozeßschritte,
die hierin beschrieben sind, durchzuführen. Eine oder mehrere Prozessoren
in einer Mehrprozessoranordnung können auch eingesetzt werden,
um die Abfolgen von Befehlen, die in dem Hauptspeicher 606 enthalten
sind, auszuführen.
In alternativen Ausführungsformen können fest
verdrahtete Schaltungen anstelle oder in Kombination mit Softwarebefehlen
verwendet werden, um die Erfindung in die Tat umzusetzen. Folglich sind
die Ausführungsformen
nicht auf bestimmte Kombinationen von Hardwareschaltungen und Software
beschränkt.
Die Befehle können
als Softwaremittel, Prozesse, Unterprogramme oder Programm organisiert
sein.
-
Der
Ausdruck „Computer
lesbares Medium", wie
es hier verwendet wird, bezieht sich auf irgendein Medium, das teilnimmt,
um Befehle für
den Prozessor 604 zur Ausführung zur Verfügung zu
stellen. Ein derartiges Medium kann viele Formen haben, einschließlich nichtflüchtigen
Medien, flüchtigen
Medien und Übertragungsmedien,
wobei jedoch keine Beschränkung
auf diese vorgenommen wird. Nicht flüchtige Medien enthalten z.B.
optische und magnetische Platten, wie etwa die Speichereinrichtung 610. Flüchtige Medien
enthalten dynamische Speicher, wie etwa den Hauptspeicher 606. Übertragungsmedien
enthalten koaxiale Kabel, Kupferdrähte und optische Fasern, einschließlich der
Drähte,
die der Bus 602 aufweist. Übertragungsmedien können auch
die Form von akustischen Wellen oder Lichtwellen haben, wie etwa
jene, die durch Radiowellen und Infrarotdatenübertragungen erzeugt werden.
-
Allgemeine
Formen von Computer lesbaren Medien enthalten z.B. eine Diskette,
eine flexible Diskette, eine Festplatte, magnetisches Band oder
irgendein anderes magnetisches Medium, eine CD-ROM, irgendein anderes
optisches Medium, Lochkarten, Papierband oder andere physikalische Medien
mit Mustern von Löchern,
ein RA, ein PROM und ein EPROM, ein FLASH-EPROM, irgendeine andere
Art von Chip oder Karte, eine Trägerwelle,
wie hierin beschrieben, oder irgendein anderes Medium, von dem ein
Computer lesen kann.
-
Verschiedene
Formen von Computer lesbaren Medien können dabei beteiligt sein,
eine oder mehrere Abfolgen von einem oder mehreren Befehlen zu dem
Prozessor 604 zur Ausführung
zu übertragen.
Zum Beispiel können
die Befehle anfangs auf eine magnetische Platte eines entfernten
Computers übertragen
werden. Der entfernte Computer kann die Befehle in seinem dynamischen
Speicher laden und die Befehle über
eine Telefonleitung unter Verwendung eines Modems senden. Ein zu
der Verarbeitungseinheit 204 lokales Modem kann die Daten
auf der Telefonleitung empfangen und einen Infrarottransmitter verwenden,
um die Daten in ein infrarotes Signal zu wandeln. Ein Infrarotdetektor,
der an den Bus 602 gekoppelt ist, kann die Daten, die in
dem Infrarotsignal getragen werden, empfangen und die Daten auf
den Bus 602 plazieren. Der Bus 602 überträgt die Daten
zu dem Hauptspeicher 606, von dem der Prozessor 604 die
Befehle wiedergewinnt und ausführt.
Die Befehle, die durch den Hauptspeicher 606 empfangen
werden, können
wahlweise auf der Speichereinrichtung 610 entweder vor
oder nach der Ausführung
durch den Prozessor 604 gespeichert werden.
-
Die
Verarbeitungseinheit 204 enthält auch ein Kommunikationsinterface 618,
das an den Bus 602 gekoppelt ist. Das Kommunikationsinterface 618 stellt
eine Zweiweg-Datenübertragung
zur Verfügung,
wobei an ein Netzwerkverbindungsglied bzw. -link 620 angekoppelt
wird, das an ein lokales Netzwerk 622 angeschlossen ist.
Zum Beispiel kann ein Kommunikationsinterface 618 eine
Karte eines integrierten digitalen Servicenetzwerks (ISDN-Karte) oder
ein Modem sein, um einen Datenkommunikationsanschluß zu einer
entsprechenden Art von Telefonleitung zur Verfügung zu stellen. Als ein anderes Beispiel
kann eine Kommunikationsschnittstelle 618 eine lokale Bereichsnetzwerkkarte
(LAN-Karte) sein, um eine Datenkommunikationsanschluß an ein
kompatibles LAN zur Verfügung
zu stellen.
-
Drahtlose
Links bzw. Verbindungsglieder können
auch in die Tat umgesetzt werden. Bei sämtlichen solchen Verwirklichungen
sendet das Kommunikationsinterface bzw. die Kommunikationsschnittstelle 618 elektrische,
elektromagnetische oder optische Signale und empfängt diese,
wobei diese digitale Datenströme
tragen, die verschiedene Arten von Informationen darstellen. Das
Netzwerkverbindungsglied 620 stellt typischerweise eine
Datenkommunikation über
eines oder mehrere Netzwerke zu anderen Dateneinrichtungen zur Verfügung. Zum
Beispiel kann das Netzwerk Link 620 eine Verbindung durch ein
lokales Netzwerk 622 zu einem Host-Computer 624 oder
zu einer Datenanlage zur Verfügung
stellen, die durch einen Internet-Serviceprovider (ISP) 626 betrieben
wird. Der ISP 622 stellt in Folge Datenkommunikationsdienstleistungen über das
weltweite Datenpaket-Kommunikationsnetzwerk
zur Verfügung, auf
das nun allgemein als das „Internet" 628 Bezug genommen
wird. Das lokale Netzwerk 622 und das Internet 628 verwenden
beide elektrische, elektromagnetische oder optische Signale, die
digitale Datenströme
tragen. Die Signale durch die verschiedenen Netzwerke und die Signale
auf dem Netzwerkverbindungsglied 620 und über die
Kommunikationsschnittstelle 618, die die digitalen Daten
zu und von der Verarbeitungseinheit 204 tragen, sind exemplarische
Arten von Trägerwellen,
die Informationen befördern.
-
Die
Verarbeitungseinheit 204 kann Nachrichten senden und Daten
empfangen, einschließlich
einem Programmcode, über
das Netzwerk (die Netzwerke), das Netzwerklink bzw. – verbindungsglied 620 und
das Kommunikationsinterface bzw. -schnittstelle 618. Bei
dem Beispiel mit dem Internet kann ein Server 630 einen
Anfragecode für
ein Anwendungsprogramm über
das Internet 628, den ISP 626, das lokale Netzwerk 622 und
das Kommunikationsinterface 618 übertragen. Eine derartige heruntergeladene
Anwendung stellt die Speicherung und Aufrechterhaltung von Daten,
wie hierin beschrieben, zur Verfügung.
-
Der
empfangene Code kann durch den Prozessor 604 ausgeführt werden,
wie er empfangen ist, und/oder in der Speichereinrichtung 610 oder
in einem anderen nichtflüchtigen
Speicher zur späteren Ausführung gespeichert
werden. Auf diese Weise kann die Verfahrenseinheit 204 einen
Anwendungscode in der Form einer Trägerwelle erhalten.
-
Die
hierin beschriebenen Techniken stellen verschiedene Vorteile gegenüber früheren Lösungsansätzen zum
Speichern und Aufrechterhalten von Daten zur Verfügung. Insbesondere
der Ansatz zum Löschen
von Daten von der Speichereinheit 106 durch Überschreiben
der Daten mit einem vorbestimmten Wert macht es schwieriger, Daten
zurückzugewinnen.
Die Fälschungsüberwachung
stellt einen weiteren Schutz vor einem nicht autorisierten Zugriff
auf die Speichereinheit 106 zur Verfügung. Die Verwendung der Registrierungsautorität bzw. -berechtigung 110,
um Speichereinheiten 106 zu registrieren, macht die Daten,
die in der Registrierungsberechtigung 110 gespeichert sind,
authentisch. Schließlich
stellt der Ansatz zum Vorbehalten der Ursprünglichkeit der Daten sicher,
daß, wenn
bestimmte Daten aus der Speichereinheit 106 gelesen werden,
das die bestimmten Daten einmal geschrieben wurden und nicht geändert worden
sind. Wenn gleichermaßen
Daten von der Speichereinheit 106 gelöscht werden, werden Daten,
die als Daten nur zum Lesen benannt sind, nicht von der Speichereinheit 106 gelöscht.
-
ALTERNATIVEN
UND ABWANDLUNGEN
-
In
der vorangehenden Beschreibung ist die Erfindung unter Bezugnahme
auf deren bestimmte Ausführungsformen
beschrieben worden. Es ist jedoch erkennbar, daß verschiedene Abwandlungen und Änderungen
an dieser vorgenommen werden können,
ohne den breiteren Gedanken und den Schutzbereich der Erfindung
zu verlassen. Die Beschreibung und die Darstellungen sind entsprechend eher
in einer darstellerischen als in einer einschränkenden Weise anzusehen.
-
Die
vorliegende Erfindung betrifft einen Näherungsansatz, um Daten zu
speichern und aufrechtzuerhalten, der einbezieht, daß bestimmt
wird, ob ein erster nichtflüchtiger
Speicher ausgefallen ist bzw. einen Fehler hatte oder in anderer
Weise ein Problem hatte. Falls dem so ist, werden dann die Daten
in dem ersten nichtflüchtigen
Speicher gelöscht,
indem die Daten in dem ersten nichtflüchtigen Speicher mit einem
vorbestimmten Wert überschrieben
werden, so daß die
Daten nicht mehr zurückgewonnen
werden können.
Der erste nichtflüchtige
Speicher wird mit einer Zugriffsberechtigung registriert, um die
Authentizität
der Daten in dem ersten nichtflüchtigen
Speicher zur Verfügung
stellen zu können.
Eine duplizierte Kopie der Daten wird in einem zweiten nichtflüchtigen Speicher
gespeichert und, falls eine Bestimmung durchgeführt ist, daß der erste nichtflüchtige Speicher
ein Problem erfahren hat, wird dann die duplizierte Kopie der Daten
in der zweiten nichtflüchtigen Speichereinrichtung
aktiviert.