-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf das Verwalten des Zugriffs auf Daten, die auf einem Bandmedium gespeichert sind, und insbesondere auf das Neuanordnen von Benutzerdatensegmenten (User Data Segments, UDS) in einer Liste, um die UDS-Suchzeiten zu verringern.
-
Beschreibung des Stands der Technik
-
Die Kapazität von zur Datenspeicherung verwendeten Bandmedien nimmt für einen entsprechenden Formfaktor weiter zu. Beispielsweise beträgt die native Kapazität von Medien der LTO(Linear Tape-Open)-Generation 5 1,5 Terabyte (TB). Mit zunehmender Kapazität von Bandmedien hat sich deren Nutzung verändert. In der Vergangenheit wurden Bandmedien hauptsächlich zur Datensicherung und -archivierung genutzt. Derzeit werden sie auch für einen virtuellen Bandserver (Virtual Tape Server, VTS), zur hierarchischen Speicherverwaltung (Hierarchical Storage Management, HSM) und für Dateisysteme wie das Long Term File System (LTFS) genutzt.
-
Die Datenübertragungsrate von Bandmedien hat sich ebenfalls immer weiter erhöht. Beispielsweise beträgt die native Lese- und Schreibübertragungsrate von Bandlaufwerken der oben genannten LTO-Generation 5 140 MB/Sekunde. Steigerungen bei den Datenübertragungsraten werden zum Teil durch die Verwendung von Datenkompressionsansätzen erreicht. Die Datensuchzeiten für einen einzelnen Datensatz auf einem LTO-Bandlaufwerk der Generation 5 beträgt im Durchschnitt jedoch 1 Minute. Ein Grund für die lange Suchzeit ist die Kombination der Länge von LTO-Bandmedien der Generation 5, die 800 Meter beträgt, mit seiner entsprechenden Neupositionierungsgeschwindigkeit von ungefähr 10 Metern/Sekunde. Ein weiterer Grund besteht darin, dass einem Bandlaufwerk die physische Position eines Zieldatensatzes auf dem Bandmedium normalerweise nicht mit Sicherheit bekannt ist.
-
Lange Suchzeiten werden zwar im Allgemeinen als einer der Schwachpunkte eines Bandlaufwerks angesehen, sie stellen beim Zugreifen auf einen einzelnen Datensatz oder eine Folge von Datensätzen, deren physische Position seriell auf einem Bandmedium angeordnet ist, jedoch keinen zu großen Nachteil dar. Lange Suchzeiten können jedoch eine zusätzliche Latenz aufweisen, wenn eine Folge von Zieldatensätzen gelesen wird, die auf einem Bandmedium nicht seriell angeordnet sind. In diesen Situationen muss das Bandlaufwerk das Bandmedium vor- und zurückspulen, um nach der Position eines Zieldatensatzes zu suchen. Infolgedessen kann die Gesamtmenge der Zeit, die zum Lesen einer Folge nicht serialisierter Datensätze benötigt wird, mit zunehmender Anzahl der Zieldatensätze drastisch ansteigen.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung stellt dementsprechend in einem ersten Aspekt ein Verfahren zum Verwalten des Zugriffs auf Daten bereit, die auf einem Bandmedium gespeichert sind, wobei das Verfahren aufweist: Empfangen einer Anforderung zum Abrufen einer geordneten Liste von Benutzerdatensegmenten von einem Ziel-Bandmedium; Ermitteln der physischen Position jedes der Benutzerdatensegmente auf dem Ziel-Bandmedium; Ausführen von Neuordnungsfunktionen, um eine neu geordnete Liste der Benutzerdatensegmente zu erzeugen, wobei die Reihenfolge der Benutzerdatensegmente entsprechend ihrer physischen Position auf dem Ziel-Bandmedium neu geordnet wird; und Einleiten des Abrufs der Benutzerdatensegmente von dem Ziel-Bandmedium in ihrer Reihenfolge in der neu geordneten Liste.
-
Die Neuordnungsfunktionen werden vorzugsweise von einem Bandlaufwerk verarbeitet, das eine Verarbeitungslogik aufweist, die funktionsmäßig in der Lage ist, die neu geordnete Liste der Benutzerdatensegmente zu erzeugen. Die Neuordnungsfunktionen werden vorzugsweise von einer Bandbibliothek (tape library) verarbeitet, die eine Verarbeitungslogik aufweist, die funktionsmäßig in der Lage ist, die neu geordnete Liste der Benutzerdatensegmente zu erzeugen. Die Neuordnungsfunktionen werden vorzugsweise von einem Host verarbeitet, der eine Verarbeitungslogik aufweist, die funktionsmäßig in der Lage ist, die neu geordnete Liste der Benutzerdatensegmente zu erzeugen. Vorzugsweise weisen einzelne Benutzerdatensegmente eine Vielzahl von Datensätzen auf. Vorzugsweise wird die physische Position der Benutzerdatensegmente auf dem Ziel-Bandmedium durch Verarbeiten von Benutzerdatensegment-Bandmedienpositionsdaten ermittelt, die gespeichert sind auf einem aus: einem Bandverzeichnis (tape directory, TD); einem Dateimarkierungsplan (filemark map); einem hochauflösenden Bandverzeichnis (high resolution tape directory, HRTD); oder einem virtuellen HRTD.
-
In einem zweiten Aspekt wird ein System zum Verwalten des Zugriffs auf Daten bereitgestellt, die auf einem Bandmedium gespeichert sind, wobei das System einen Prozessor, einen mit dem Prozessor verbundenen Datenbus und Mittel aufweist zum: Empfangen einer Anforderung zum Abrufen einer geordneten Liste von Benutzerdatensegmenten von einem Ziel-Bandmedium; Ermitteln der physischen Position jedes der Benutzerdatensegmente auf dem Ziel-Bandmedium; Ausführen von Neuordnungsfunktionen, um eine neu geordnete Liste der Benutzerdatensegmente zu erzeugen, wobei die Reihenfolge der Benutzerdatensegmente entsprechend ihrer physischen Position auf dem Ziel-Bandmedium neu geordnet wird; und Einleiten des Abrufs der Benutzerdatensegmente von dem Ziel-Bandmedium in ihrer Reihenfolge in der neu geordneten Liste.
-
Die Neuordnungsfunktionen werden vorzugsweise von einem Bandlaufwerk verarbeitet, das eine Verarbeitungslogik aufweist, die funktionsmäßig in der Lage ist, die neu geordnete Liste der Benutzerdatensegmente zu erzeugen. Die Neuordnungsfunktionen werden vorzugsweise von einer Bandbibliothek verarbeitet, die eine Verarbeitungslogik aufweist, die funktionsmäßig in der Lage ist, die neu geordnete Liste der Benutzerdatensegmente zu erzeugen. Die Neuordnungsfunktionen werden vorzugsweise von einem Host verarbeitet, der eine Verarbeitungslogik aufweist, die funktionsmäßig in der Lage ist, die neu geordnete Liste der Benutzerdatensegmente zu erzeugen. Vorzugsweise weisen einzelne Benutzerdatensegmente eine Vielzahl von Datensätzen auf. Vorzugsweise wird die physische Position der Benutzerdatensegmente auf dem Ziel-Bandmedium durch Verarbeiten von Benutzerdatensegment-Bandmedienpositionsdaten ermittelt, die gespeichert sind auf einem aus: einem Bandverzeichnis (TD); einem Dateimarkierungsplan; einem hochauflösenden Bandverzeichnis (HRTD); oder einem virtuellen HRTD.
-
In einem dritten Aspekt wird ein Computerprogramm bereitgestellt, das einen auf einem computerlesbaren Medium gespeicherten Computerprogrammcode aufweist, um, wenn es in ein Computersystem geladen und darauf ausgeführt wird, dieses Computerprogramm zu veranlassen, alle Schritte eines Verfahrens gemäß dem ersten Aspekt auszuführen.
-
Das Computerprogramm des dritten Aspekts kann in Form eines computernutzbaren Mediums bereitgestellt werden, auf dem Computerprogrammcode verkörpert ist, wobei der Computerprogrammcode computerausführbare Befehle aufweist, konfiguriert zum: Empfangen einer Anforderung zum Abrufen einer geordneten Liste von Benutzerdatensegmenten von einem Ziel-Bandmedium; Ermitteln der physischen Position jedes der Benutzerdatensegmente auf dem Ziel-Bandmedium; Ausführen von Neuordnungsfunktionen, um eine neu geordnete Liste der Benutzerdatensegmente zu erzeugen, wobei die Reihenfolge der Benutzerdatensegmente entsprechend ihrer physischen Position auf dem Ziel-Bandmedium neu geordnet wird; und Einleiten des Abrufs der Benutzerdatensegmente von dem Ziel-Bandmedium in ihrer Reihenfolge in der neu geordneten Liste. Die bevorzugten Computerprogrammelemente des dritten Aspekte entsprechen den Schrittmerkmalen des bevorzugten Verfahrens des ersten Aspekts. Das computernutzbare Medium kann die computerausführbaren Befehle aufweisen, die von einem Server an einem entfernten Ort aus auf einem Client-Computer implementierbar sind. Vorzugsweise werden die computerausführbaren Befehle einem Kunden von einem Dienstanbieter auf Aufruf (on-demand) bereitgestellt.
-
Offenbart werden somit ein Verfahren, System und computernutzbares Medium zum Neuordnen von Benutzerdatensegmenten (UDS) in einer Liste, um die Suchzeiten beim Zugreifen auf Daten zu verringern, die auf Bandmedien gespeichert sind. In verschiedenen Ausführungsformen ist ein Benutzerdatensegment(UDS)-Listenneuordnungsmodul auf einem Bandlaufwerk, in einer Bandbibliothek oder auf einem Host umgesetzt. In diesen und anderen Ausführungsformen empfängt ein UDS-Listenneuordnungsmodul eine geordnete Liste von Ziel-Benutzerdatensegmenten zum Abrufen von einem Bandmedium. Das UDS-Listenneuordnungsmodul interagiert dann mit einem Ziel-Bandmedium, das üblicherweise ein Bandverzeichnis oder andere Daten aufweist, die sich auf das Verhältnis zwischen einer einzelnen Datensatznummer und ihrer entsprechenden physischen Position auf dem Bandmedium beziehen. Das Bandmedium wird seinerseits von einem Bandlaufwerk gelesen, das in der Lage ist, das Bandverzeichnis oder die anderen Daten zum Ausführen einer Suchfunktion zu nutzen und danach einen entsprechenden Datensatz zu lesen. In verschiedenen Ausführungsformen ist das Bandlaufwerk mit einer Bandbibliothek umgesetzt, der bekannt ist, welches Bandmedium ein Ziel-Benutzerdatensegment enthält.
-
Das UDS-Listenneuordnungsmodul nutzt dann das Bandverzeichnis oder die anderen Daten, um die geordnete Liste von Ziel-Benutzerdatensegmenten zu verarbeiten, um die physische Position jedes der Benutzerdatensegmente auf dem Bandmedium zu ermitteln. Die sich daraus ergebende physische Position wird dann von dem UDS-Listenneuordnungsmodul verarbeitet, um eine neu geordnete Liste der Benutzerdatensegmenten zu erzeugen, wobei die Reihenfolge der Benutzerdatensegmente entsprechend ihrer physischen Position auf dem Ziel-Bandmedium neu geordnet ist. Das UDS-Listenneuordnungsmodul stellt die neu geordnete Liste von Benutzerdatensegmenten dann einer auf einem Host umgesetzten Anwendung bereit, die in der Lage ist, Such-, Neupositionierungs- und Lesefunktionen auszuführen, um die Benutzerdatensegmente von dem Bandmedium zu lesen.
-
Kurzbeschreibung der Zeichnungen
-
Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird nun lediglich als Beispiel unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, auf denen:
-
1 einen beispielhaften Client-Computer darstellt, in dem die vorliegende Erfindung umgesetzt werden kann;
-
2 ein vereinfachtes Blockschaubild eines Benutzerdatensegment(UDS)-Listenneuordnungsmoduls ist, wie es auf einem Bandlaufwerk umgesetzt ist;
-
3 ein vereinfachtes Blockschaubild eines UDS-Listenneuordnungsmoduls ist, wie es in einer Bandbibliothek umgesetzt ist;
-
4 ein vereinfachtes Blockschaubild eines UDS-Listenneuordnungsmoduls ist, wie es auf einem Host umgesetzt ist; und
-
5 ein verallgemeinerter Ablaufplan der Funktionsweise eines UDS-Listenneuordnungsmoduls ist.
-
Ausführliche Beschreibung
-
Offenbart werden ein Verfahren, System und computernutzbares Medium zum Neuordnen von Benutzerdatensegment(UDS)-Listen, um die Suchzeiten beim Zugreifen auf Daten zu verringern, die auf Bandmedien gespeichert sind. Wie für einen Fachmann verständlich sein wird, kann die vorliegenden Erfindung als Verfahren, System oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Ausführungsformen der Erfindung vollständig als Hardware, vollständig als Software (darunter Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform umgesetzt sein, die Software und Hardware miteinander kombiniert. Diese verschiedenen Ausführungsformen können hier alle allgemein als ”Schaltkreis”, ”Modul” oder ”System” bezeichnet werden. Darüber hinaus kann die vorliegende Erfindung die Form eines Computerprogrammprodukts auf einem computernutzbaren Speichermedium annehmen, wobei computernutzbarer Programmcode auf dem Medium verkörpert ist.
-
Jedes geeignete computernutzbare oder computerlesbare Medium kann genutzt werden. Bei dem computernutzbaren oder computerlesbaren Medium kann es sich beispielsweise, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit handeln. Zu konkreteren Beispielen (einer keinen Anspruch auf Vollständigkeit erhebenden Liste) des computerlesbaren Mediums würden die folgenden gehören: eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM- oder Flash-Speicher), ein tragbarer Compactdisc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit oder eine magnetische Speichereinheit. Im Zusammenhang dieses Dokuments kann es sich bei einem computernutzbaren oder computerlesbaren Medium um ein beliebiges Medium handeln, welches das Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Befehlen enthalten, speichern, damit Daten austauschen oder es transportieren kann.
-
Computerprogrammcode zum Ausführen von Funktionen der vorliegenden Erfindung kann in einer objektorientierten Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder dergleichen geschrieben sein. Der Computerprogrammcode zum Ausführen von Funktionen der vorliegenden Erfindung kann jedoch auch in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache ”C” oder ähnlichen Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über ein Nahbereichs-Netzwerk (LAN) oder ein Weitverkehrs-Netzwerk (WAN) verbunden sein, oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Verwendung eines Internet-Dienstanbieters).
-
Ausführungsformen der Erfindung werden weiter unten mit Bezug zu Ablaufplan-Veranschaulichungen und/oder Blockschaltbildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplan-Veranschaulichungen und/oder Blockschaubilder und Kombinationen der Blöcke in den Ablaufplan-Veranschaulichungen und/oder Blockschaubildern durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbarer Datenverarbeitungsvorrichtungen bereitgestellt werden, sodass eine Maschine in der Weise hervorgebracht wird, dass die Befehle, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen schaffen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaltbilder festgelegt sind.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Speicher gespeichert werden, der einen Computer oder andere programmierbare Datenverarbeitungsvorrichtungen anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die in dem computerlesbaren Speicher gespeicherten Befehle ein Herstellungsprodukt hervorbringen, das Anweisungsmittel aufweist, die Funktionen/Handlungen umsetzen, welche in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaltbilder festgelegt sind.
-
Die Computerprogrammbefehle können auch in einen Computer oder andere programmierbare Datenverarbeitungsvorrichtungen geladen werden, um zu veranlassen, dass eine Reihe von Funktionsschritten auf dem Computer oder anderen programmierbaren Vorrichtungen ausgeführt wird, um einen durch Computer umgesetzten Prozess in der Weise hervorzubringen, dass die Befehle, die auf dem Computer oder anderen programmierbaren Vorrichtungen ausgeführt werden, Schritte zum Umsetzen der Funktionen/Handlungen bereitstellen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaltbilder festgelegt sind.
-
1 ist ein Blockschaubild eines beispielhaften Client-Computers 102, in dem die vorliegende Erfindung genutzt werden kann. Der Client-Computer 102 weist eine Prozessoreinheit 104 auf, die mit einem Systembus 106 verbunden ist. Ein Videoadapter 108, der eine Anzeige 110 steuert, ist ebenfalls mit dem Systembus 106 verbunden. Der Systembus 106 ist über eine Busbrücke 112 mit einem Ein-/Ausgabe(E/A)-Bus 114 verbunden. Eine E/A-Schnittstelle 116 ist mit dem E/A-Bus 114 verbunden. Die E/A-Schnittstelle 116 gestattet den Datenaustausch mit verschiedenen E/A-Einheiten, darunter eine Tastatur 118, eine Maus 120, ein Compactdisc-Nur-Lese-Speicher(CD-ROM)-Laufwerk 122, ein Bandlaufwerk 124 (das ein oder eine Vielzahl von Bändern aufweisen kann, um eine Bibliothek bereitzustellen) und ein Flash-Laufwerk-Speicher 126. Das Format der mit der E/A-Schnittselle 116 verbundenen Anschlüsse kann jedes dem Fachmann auf dem Gebiet der Computerarchitektur bekannte Format sein, einschließlich, ohne darauf beschränkt zu sein, Universal Serial Bus(USB)-Anschlüssen.
-
Der Client-Computer 102 ist in der Lage, Daten mit einem Dienstanbieter-Server 152 über ein Netz 128 unter Verwendung einer Netzschnittstelle 130 auszutauschen, die mit dem Systembus 106 verbunden ist. Bei dem Netz 128 kann es sich um ein externes Netz wie das Internet oder um ein internes Netzwerk wie beispielsweise ein Ethernet-Netzwerk oder ein virtuelles privates Netzwerk (VPN) handeln.
-
Eine Festplattenschnittstelle 132 ist ebenfalls mit dem Systembus 106 verbunden. Die Festplattenschnittstelle 132 bildet eine Schnittstelle zu einem Festplattenlaufwerk 134. In einer bevorzugten Ausführungsform füllt die Festplatte 134 einen Systemspeicher 136, der ebenfalls mit dem Systembus 106 verbunden ist. Zu den Daten, mit denen der Systemspeicher 136 gefüllt wird, gehören auch das Betriebssystem (operating system, OS) 138 des Client-Computers 102 und Softwareprogramme 144.
-
Das OS 138 weist eine Shell 140 zum Bereitstellen eines transparenten Benutzerzugriffs auf Ressourcen wie beispielsweise die Softwareprogramme 144 auf. Im Allgemeinen handelt es sich bei der Shell 140 um ein Programm, das einen Interpreter und eine Schnittstelle zwischen dem Benutzer und dem Betriebssystem bereitstellt. Die Shell 140 führt insbesondere Befehle aus, die in eine Befehlszeilen-Benutzeroberfläche oder aus einer Datei eingegeben werden. Somit bildet die Shell 140 (wie sie in UNIX® genannt wird), die in Windows® auch als Befehlsprozessor bezeichnet wird, im Allgemeinen die höchste Ebene in der Hierarchie der Betriebssystemsoftware und dient als Befehlsinterpreter. Die Shell stellt eine Systemeingabeaufforderung bereit, interpretiert über Tastatur, Maus oder andere Benutzereingabemedien eingegebene Befehle und sendet den (die) interpretierten Befehle(e) an die geeigneten tieferen Ebenen des Betriebssystems (z. B. einen Kernel 142) zur Verarbeitung. Während es sich bei der Shell 140 im Allgemeinen um eine textbasierte, zeilenorientierte Benutzeroberfläche handelt, kann die vorliegende Erfindung auch andere Arten von Benutzeroberflächen unterstützen, beispielsweise grafische, auf Sprache, Gesten usw. basierende.
-
Wie abgebildet, weist das OS 138 auch einen Kernel 142 auf, der tiefere Funktionalitätsebenen für das OS 138 aufweist, darunter wesentliche Dienste, die von anderen Teilen des OS 138 und Softwareprogrammen 144 benötigt werden, darunter Speicherverwaltung, Prozess- und Aufgabenverwaltung, Datenträgerverwaltung sowie Maus- und Tastaturverwaltung.
-
Die Softwareprogramme 144 können einen Browser 146 und einen E-Mail-Client 148 aufweisen. Der Browser 146 weist Programmmodule und Befehle auf, die es einem World Wide Web(WWW)-Client (d. h. dem Client-Computer 102) ermöglichen, Netznachrichten an das und aus dem Internet unter Verwendung von HyperText Transfer Protocol(HTTP)-Nachrichtenübermittlung zu senden bzw. zu empfangen und so einen Datenaustausch mit dem Dienstanbieter-Server 152 zu ermöglichen. Die Softwareprogramme 144 weisen auch ein Benutzerdatensegment(UDS)-Listenneuordnungsmodul 150 auf. Das UDS-Listenneuordnungsmodul 150 weist Code zum Umsetzen der Prozesse auf, die in den hier weiter unten beschriebenen 2 bis 4 beschrieben werden. In einer Ausführungsform ist der Client-Computer 102 in der Lage, das UDS-Listenneuordnungsmodul 150 von einem Dienstanbieter-Server 152 herunterzuladen.
-
Die im Client-Computer 102 abgebildeten Hardwareelemente sind nicht als erschöpfende Darstellung zu verstehen, sondern sie heben vielmehr stellvertretend Komponenten hervor, die von der vorliegenden Erfindung verwendet werden. Beispielsweise kann der Client-Computer 102 alternative Speichereinheiten wie Magnetkassetten, Digital Versatile Disks (DVDs), Bernoulli-Kassetten und dergleichen aufweisen. Diese und andere Varianten sollen innerhalb von Geist und Geltungsbereich der vorliegenden Erfindung liegen.
-
In der hier verwendeten Weise ist ein Datensatz als der kleinste eindeutige Satz von Daten definiert, die (z. B. von einem Host) zum Verarbeiten und Aufzeichnen durch ein Bandlaufwerksystem bereitgestellt werden, und ebenso als der kleinste eindeutige Satz von Daten, die von dem Band gelesen, neu verarbeitet und von einem Bandlaufwerksystem verfügbar gemacht werden können (z. B. für einen Host). In verschiedenen Ausführungsformen schreibt oder liest eine auf einem Host laufende Anwendung im Allgemeinen zu einem gegebenen Zeitpunkt jeweils eine Gruppe aus mehreren Datensätzen, die hier als Benutzerdatensegment bezeichnet wird.
-
In diesen und anderen Ausführungsformen ruft die Anwendung normalerweise einen Ladebefehl auf, um ein Bandmedium zu laden, das eine Vielzahl von Benutzerdatensegmenten aufweist. Sobald das Bandmedium geladen ist, ruft die Anwendung einen Neupositionierungsbefehl auf, um ein Ziel-Benutzerdatensegment zu suchen, gefolgt vom Aufruf eines Lesebefehls, um es zu lesen. Diese Schritte werden dann wiederholt, bis alle Ziel-Benutzerdatensegmente gelesen worden sind.
-
Bevor die Suchfunktion ausgeführt werden kann, muss ein Bandlaufwerk jedoch zuerst die physische Position eines Zieldatensatzes abschätzen. Da ein Bandmedium Millionen von Datensätzen enthalten kann, ist es nicht immer praktisch durchführbar, die physische Position jedes Datensatzes auf dem Bandmedium selbst zu speichern. Ebenso kann es schwierig sein, die physische Position eines Datensatzes abzuschätzen, da jeder Datensatz eine unterschiedliche Größe aufweisen kann. Infolgedessen können sich die Datensatz-Suchzeiten erhöhen, wenn die geschätzte physische Position des Datensatzes weit von seiner tatsächlichen Position entfernt ist.
-
In verschiedenen Ausführungsformen wird die physische Position eines Ziel-Benutzerdatensegments und seiner zugehörigen Datensätze ermittelt, indem Datensatznummern und andere damit verbundene Daten verarbeitet werden, die nach vorab festgelegten physischen Bereichen oder Regionen auf dem Bandmedium indiziert sind. In diesen und anderen Ausführungsformen werden die Datensatz-Positionsdaten in einem Bandverzeichnis (TD), einem Dateimarkierungsplan, einem hochauflösenden Bandverzeichnis (HRTD) oder einem virtuellen HRTD oder anderen dem Fachmann bekannten Datensatz-Indizierungsansätzen gespeichert.
-
Lange Suchzeiten sind üblicherweise nicht so problematisch, wenn ein Bandmedium zur Datensicherung oder -archivierung verwendet wird. In einigen Fällen werden nur ein oder wenige Benutzerdatensegmente gelesen. In anderen Fällen werden mehr Benutzerdatensegmente gelesen, sie befinden sich aber üblicherweise in einer sequentiellen Reihenfolge auf dem Bandmedium, sodass im Allgemeinen Suchzeiten anfallen, um die Position des ersten Benutzerdatensegments zu finden. Wenn ein Bandmedium jedoch für einen virtuellen Bandspeicher (virtual tape store, VTS) oder ein Dateisystem verwendet wird, ist es nicht unüblich, dass viele Benutzerdatensegmente auf einem Bandmedium gelesen werden. Beispielsweise können in einem VTS durchgeführte Konsolidierungsfunktionen und in einem Dateisystem durchgeführte Defragmentierungsfunktionen das Lesen vieler Benutzerdatensegmente veranlassen. In diesen Fällen summieren sich die in Verbindung mit einzelnen Suchfunktionen aufgelaufenen Suchzeiten, was zu einer Leistungsverschlechterung führt.
-
In verschiedenen Ausführungsformen ist ein Benutzerdatensegment(UDS)-Listenneuordnungsmodul auf einem Bandlaufwerk, in einer Bandbibliothek oder auf einem Host umgesetzt. In diesen und anderen Ausführungsformen empfängt das UDS-Listenneuordnungsmodul eine geordnete Liste von Ziel-Benutzerdatensegmenten zum Abrufen von einem Bandmedium. Das UDS-Listenneuordnungsmodul interagiert dann mit einem Ziel-Bandmedium, das üblicherweise ein Bandverzeichnis oder andere Daten aufweist, die sich auf das Verhältnis zwischen einer einzelnen Datensatznummer und ihrer entsprechenden physischen Position auf dem Bandmedium beziehen. Das Bandmedium wird seinerseits von einem Bandlaufwerk gelesen, das in der Lage ist, das Bandverzeichnis oder die anderen Daten zum Ausführen einer Suchfunktion zu nutzen und danach einen entsprechenden Datensatz zu lesen. In verschiedenen Ausführungsformen ist das Bandlaufwerk mit einer Bandbibliothek umgesetzt, der bekannt ist, welches Bandmedium ein Ziel-Benutzerdatensegment enthält.
-
In verschiedenen Ausführungsformen wird der Abstand (”D” zwischen einem Benutzerdatensegment ”A” und einem zweiten Benutzerdatensegment ”B” unter Verwendung des folgenden Algorithmus ermittelt: D = |E(A) – S(B)|/V
-
In diesem Algorithmus ist D der Abstand zwischen Benutzerdatensegment ”A” und Benutzerdatensegment ”B”, E(X) ist die Länge vom Beginn eines Bandes bis zum Ende von Benutzerdatensegment X, S(X) ist die Länge vom Beginn eines Bandes bis zum Anfang von Benutzerdatensegment X, und V ist die Geschwindigkeit eines Bandmediums, um ein Benutzerdatensegment zu suchen.
-
Das UDS-Listenneuordnungsmodul verwendet dann die Daten des berechneten Abstands (”D”), um die geordnete Liste von Ziel-Benutzerdatensegmenten zu verarbeiten, um die physische Position jedes der Benutzerdatensegmente auf dem Bandmedium zu ermitteln. Die sich daraus ergebende physische Position wird dann von dem UDS-Listenneuordnungsmodul verarbeitet, um eine neu geordnete Liste von Benutzerdatensegmenten zu erzeugen, wobei die Reihenfolge der Benutzerdatensegmente entsprechend ihrer physischen Position auf dem Ziel-Bandmedium neu geordnet wird. Das UDS-Listenneuordnungsmodul stellt die neu geordnete Liste von Benutzerdatensegmenten dann einer auf einem Host umgesetzten Anwendung bereit, die in der Lage ist, Such-, Neupositionierungs- und Lesefunktionen auszuführen, um die Benutzerdatensegmente von dem Bandmedium zu lesen.
-
2 ist ein vereinfachtes Blockschaubild eines Benutzerdatensegment(UDS)-Listenneuordnungsmoduls, wie es gemäß einer Ausführungsform der Erfindung auf einem Bandlaufwerk umgesetzt ist. In dieser Ausführungsform weist die Bandbibliothek 206 ein Bandmedium 210 und ein Bandlaufwerk 208 auf, das seinerseits das Benutzerdatensegment(UDS)-Listenneuordnungsmodul 250 aufweist. Der Host 202 weist eine Anwendung 204 auf, die in der Lage ist, Such-, Neupositionierungs- und Lesefunktionen in Verbindung mit der Bandbibliothek 206, dem Bandlaufwerk 208, dem UDS-Listenneuordnungsmodul 250 und dem Bandmedium 210 auszuführen.
-
Wie hier ausführlicher beschrieben, stellt die Anwendung 204 eine Benutzerdatensegment-Liste 212 für das UDS-Listenneuordnungsmodul 250 bereit, das die physische Position jedes Benutzerdatensegments auf dem Bandmedium 210 ermittelt. Nachdem die physischen Positionen ermittelt sind, erzeugt das UDS-Listenneuordnungsmodul 250 eine neu geordnete Benutzerdatensegment-Liste 216, die dann der Anwendung 204 bereitgestellt wird. Die Anwendung verwendet dann die neu geordnete Benutzerdatensegment-Liste 216, um Neupositionierungsfunktionen auszuführen, um das Bandmedium 210 auf das erste Benutzerdatensegment in der neu geordneten Benutzerdatensegment-Liste 216 neu zu positionieren 218. Danach führt die Anwendung Lesefunktionen aus, um das erste Benutzerdatensegment in der neu geordneten Benutzerdatensegment-Liste 216 zu lesen 220. Nachdem das erste Benutzerdatensegment gelesen wurde, verwendet die Anwendung 204 weiterhin die neu geordnete Benutzerdatensegment-Liste 216, um Neupositionierungs- und Lesefunktionen auszuführen, um die übrigen Benutzerdatensegmente in der neu geordneten Benutzerdatensegment-Liste 216 zu lesen. Für einen Fachmann wird verständlich sein, dass in dieser Ausführungsform keine Änderungen an der Bandbibliothek 206 oder der Anwendung 204 erforderlich sind, wenn das Bandlaufwerk 208 in Zukunft durch ein Bandlaufwerk 208 eines späteren Modells ersetzt wird.
-
3 ist ein vereinfachtes Blockschaubild eines Benutzerdatensegment(UDS)-Listenneuordnungsmoduls, wie es gemäß einer Ausführungsform der Erfindung in einer Bandbibliothek umgesetzt ist. In dieser Ausführungsform weist die Bandbibliothek 206 ein Bandmedium 210, ein Bandlaufwerk 208, ein Benutzerdatensegment(UDS)-Listenneuordnungsmodul 350 und Bandverzeichnisse oder andere Benutzerdatensegment-Positionsdaten 314 auf. Der Host 202 weist eine Anwendung 204 auf, die in der Lage ist, Such-, Neupositionierungs- und Lesefunktionen in Verbindung mit der Bandbibliothek 206, dem Bandlaufwerk 208, dem UDS-Listenneuordnungsmodul 250 und dem Bandmedium 210 auszuführen.
-
Wie hier ausführlicher beschrieben, stellt die Anwendung 204 eine Benutzerdatensegment-Liste 212 für das UDS-Listenneuordnungsmodul 350 bereit, das die physische Position jedes Benutzerdatensegments auf dem Bandmedium 210 ermittelt. Nachdem die physischen Positionen ermittelt sind, erzeugt das UDS-Listenneuordnungsmodul 350 eine neu geordnete Benutzerdatensegment-Liste 216, die dann der Anwendung 204 bereitgestellt wird. Die Anwendung verwendet dann die neu geordnete Benutzerdatensegment-Liste 216, um Neupositionierungsfunktionen auszuführen, um das Bandmedium 210 auf das erste Benutzerdatensegment in der neu geordneten Benutzerdatensegment-Liste 216 neu zu positionieren 218. Danach führt die Anwendung Lesefunktionen aus, um das erste Benutzerdatensegment in der neu geordneten Benutzerdatensegment-Liste 216 zu lesen 220. Nachdem das erste Benutzerdatensegment gelesen wurde, verwendet die Anwendung 204 weiterhin die neu geordnete Benutzerdatensegment-Liste 216, um Neupositionierungs- und Lesefunktionen auszuführen, um die übrigen Benutzerdatensegmente in der neu geordneten Benutzerdatensegment-Liste 216 zu lesen. Für einen Fachmann wird verständlich sein, dass diese Ausführungsform der Bandbibliothek 206 ermöglicht, ein Ziel-Bandmedium 210 auszuwählen, wenn gewünschte Benutzerdatensegmente auf mehreren Kassetten von Bandmedien 210 aufgezeichnet sind.
-
4 ist ein vereinfachtes Blockschaubild eines UDS-Listenneuordnungsmoduls, wie es gemäß einer Ausführungsform der Erfindung auf einem Host umgesetzt ist. In dieser Ausführungsform weist die Bandbibliothek 206 ein Bandmedium 210 und ein Bandlaufwerk 208 auf. Der Host 202 weist ein Benutzerdatensegment(UDS)-Listenneuordnungsmodul 450, eine Benutzerdatensegment-Liste 412 und eine Anwendung 204 auf, die in der Lage ist, Such-, Neupositionierungs- und Lesefunktionen in Verbindung mit der Bandbibliothek 206, dem Bandlaufwerk 208, dem UDS-Listenneuordnungsmodul 250 und dem Bandmedium 210 auszuführen.
-
In dieser Ausführungsform empfängt die Anwendung 204 die Bandverzeichnis-, Bandlaufwerk- und Bandmediendaten 412 entweder von der Bandbibliothek 206 oder dem Bandlaufwerk 208. Das UDS-Listenneuordnungsmodul 450 verwendet dann die Bandverzeichnis-, Bandlaufwerk- und Bandmediendaten 412, um die physische Position jedes Benutzerdatensegments auf dem Bandmedium 210 zu ermitteln. Nachdem die physischen Positionen ermittelt sind, verarbeitet das UDS-Listenneuordnungsmodul 450 dann die Benutzerdatensegment-Liste 412, um eine neu geordnete Benutzerdatensegment-Liste 416 zu erzeugen, die dann der Anwendung 204 bereitgestellt wird. Die Anwendung verwendet dann die neu geordnete Benutzerdatensegment-Liste 416, um Neupositionierungsfunktionen auszuführen, um das Bandmedium 210 auf das erste Benutzerdatensegment in der neu geordneten Benutzerdatensegment-Liste 216 neu zu positionieren 218. Danach führt die Anwendung Lesefunktionen aus, um das erste Benutzerdatensegment in der neu geordneten Benutzerdatensegment-Liste 216 zu lesen 220. Nachdem das erste Benutzerdatensegment gelesen wurde, verwendet die Anwendung 204 weiterhin die neu geordnete Benutzerdatensegment-Liste 216, um Neupositionierungs- und Lesefunktionen auszuführen, um die übrigen Benutzerdatensegmente in der neu geordneten Benutzerdatensegment-Liste 216 zu lesen.
-
5 ist ein verallgemeinertes Blockschaubild der Funktionsweise eines Benutzerdatensegment(UDS)-Listenneuordnungsmoduls, wie es gemäß einer Ausführungsform der Erfindung umgesetzt ist. In dieser Ausführungsform werden UDS-Listenneuordnungsfunktionen in Schritt 502 begonnen, gefolgt von einer in Schritt 504 durchgeführten Ermittlung, ob ein UDS-Listenneuordnungsmodul auf einem Ziel-Bandlaufwerk umgesetzt ist. Wenn dies zutrifft, schickt danach in Schritt 506 eine Anwendung, wie hier ausführlicher beschrieben, eine Ziel-UDS-Liste an das UDS-Listenneuordnungsmodul auf dem Bandlaufwerk ab. Andernfalls wird in Schritt 508 eine Ermittlung durchgeführt, ob ein UDS-Listenneuordnungsmodul in einer Ziel-Bandbibliothek umgesetzt ist. Wenn dies zutrifft, schickt danach in Schritt 510 eine Anwendung, wie hier ausführlicher beschrieben, eine Ziel-UDS-Liste an das UDS-Listenneuordnungsmodul in der Bandbibliothek ab. Nachdem die UDS-Liste in Schritt 506 bzw. Schritt 510 an das UDS-Listenneuordnungsmodul abgeschickt worden ist, liest das UDS-Listenneuordnungsmodul in Schritt 512 das Bandverzeichnis eines Zielmediums.
-
Wenn jedoch in Schritt 508 festgestellt wurde, dass ein UDS-Listenneuordnungsmodul nicht in einer Bandbibliothek umgesetzt war, dann wird in Schritt 415 eine Ermittlung durchgeführt, ob ein UDS-Listenneuordnungsmodul auf einem Host umgesetzt ist. Wenn nicht, dann enden die UDS-Listenneuordnungsfunktionen in Schritt 532. Andernfalls ruft das UDS-Listenneuordnungsmodul die Bandverzeichnis-, Bandlaufwerk- und Bandmediendaten entweder von einem Ziel-Bandlaufwerk oder einer Ziel-Bandbibliothek ab. Danach oder sobald das UDS-Listenneuordnungsmodul in Schritt 512 das Bandverzeichnis des Ziel-Bandmediums liest, ermittelt das UDS-Listenneuordnungsmodul in Schritt 518 die physischen Positionsdaten, die jedem UDS auf dem Bandmedium zugeordnet sind.
-
Danach verarbeitet das UDS-Listenneuordnungsmodul in Schritt 520 die Daten der physischen Position, um eine neu geordnete UDS-Liste zu erzeugen, die dann in Schritt 522 an die Anwendung abgeschickt wird. Die Anwendung führt ihrerseits in Schritt 524 Suchfunktionen aus, um das Zielmedium auf der Position des ersten UDS in der neu geordneten UDS-Liste zu positionieren. Danach führt die Anwendung Lesefunktionen aus, um das Ziel-UDS zu lesen. Dann wird in Schritt 528 eine Ermittlung durchgeführt, ob das letzte UDS in der neu geordneten UDS-Liste gelesen wurde. Wenn dies zutrifft, werden die UDS-Listenneuordnungsfunktionen in Schritt 532 beendet. Andernfalls führt die Anwendung in Schritt 530 Suchfunktionen aus, um das Bandmedium auf der physischen Position des nächsten UDS in der neu geordneten UDS-Liste zu positionieren. Der Vorgang wird dann fortgesetzt, wobei mit Schritt 526 fortgefahren wird.
-
Obgleich die vorliegende Erfindung ausführlich beschrieben worden ist, wird es sich für den Fachmann verstehen, dass daran verschiedene Änderungen, Ersetzungen und Abwandlungen vorgenommen werden können, ohne vom Geltungsbereich der Erfindung, wie durch die anhängenden Ansprüche definiert, abzuweichen.