DE10123377B4 - Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung - Google Patents

Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung Download PDF

Info

Publication number
DE10123377B4
DE10123377B4 DE2001123377 DE10123377A DE10123377B4 DE 10123377 B4 DE10123377 B4 DE 10123377B4 DE 2001123377 DE2001123377 DE 2001123377 DE 10123377 A DE10123377 A DE 10123377A DE 10123377 B4 DE10123377 B4 DE 10123377B4
Authority
DE
Germany
Prior art keywords
data
label
tape
labels
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE2001123377
Other languages
English (en)
Other versions
DE10123377A1 (de
Inventor
Herman 85457 Lankreijer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Production Printing Germany GmbH and Co KG
Original Assignee
Oce Printing Systems GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oce Printing Systems GmbH and Co KG filed Critical Oce Printing Systems GmbH and Co KG
Priority to DE2001123377 priority Critical patent/DE10123377B4/de
Publication of DE10123377A1 publication Critical patent/DE10123377A1/de
Application granted granted Critical
Publication of DE10123377B4 publication Critical patent/DE10123377B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1262Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • G11B20/1202Formatting, e.g. arrangement of data block or words on the record carriers on tapes with longitudinal tracks only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/328Table of contents on a tape [TTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren zum Lesen von auf einem Datenband gespeicherter Daten mittels einer Lesevorrichtung, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und die Formatdaten Label aufweisen, mit welchen das Format der Nutzdaten definiert ist, umfassend folgende Schritte: – Eingeben des Datenbandtyps in die Lesevorrichtung, – Auslesen von vorab hinterlegten Parametern, die die Struktur der Label beschreiben, wobei jeder Satz Parameter eine Tabelle aufweist, in der Label-IDs des jeweiligen Bandtyps gespeichert sind, und durch die Struktur der Tabelle die Reihenfolgen, mit welcher die Label auf dem Band aufgezeichnet sind, definiert ist, wobei die Parameter in Abhängigkeit des eingegeben Datenbandtyps ausgelesen werden, – Identifizieren und Auslesen der Label mittels der die Label beschreibenden Parameter, – Auslesen der Nutzdaten mittels der in den Label enthaltenen Angaben, und – Ausgeben der Nutzdaten, wobei die Parameter Typbezeichnungen umfassen und jedem Label eine Typbezeichnung zugeordnet ist, und eine Typbezeichnung...

Description

  • Die Erfindung betrifft ein Verfahren zum Lesen von auf einem Datenband gespeicherter Daten mittels einer Lesevorrichtung, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und eine Lesevorrichtung.
  • Nutzdaten sind die Daten, die ein Benutzer eines Datenbandes auf dem Datenband abspeichert und vom Datenband wieder lesen kann. Formatdaten sind zusätzlich zu den Nutzdaten auf dem Datenband gespeicherte Daten, die der Strukturierung und Formatierung der Nutzdaten dienen, so dass die Nutzdaten beim Lesen mittels einer Lesevorrichtung aufgefunden und von der Lesevorrichtung gelesen werden können.
  • Es gibt unterschiedliche Typen von Datenbändern, die sich im Wesentlichen durch die jeweilige Datenstruktur unterscheiden.
  • Derartige Datenbandtypen sind zum Beispiel: American Natioal Standards Institute (ANSI), IBM OS/360; IBM BOS/360; IBM DOS/360; GRASP; IBM DOS/360, POWER II; IBM POWER/VS; IBM POWER/VSE; UNIVAC Series 70 (US 70); Medium Burroughs; Large Burroughs; Honeywell; UNIVAC SDF; IBM OS Writer; NCR; DEC PDP-11; ICL 2900 VME/B.
  • Diese Datenbandtypen sind in Xerox Laser Printing Systems – Tape Formats Manual, RANK XEROX, Publication 700P91799, Februar 1991, Version 3.5 beschrieben.
  • Die Formatdaten dieser Datenbandtypen sind oft als sogenannte Label auf den Datenbändern aufgezeichnet. Diese Label sind jeweils zu Beginn eines Datenbandes und zu Beginn der jeweiligen Datei angeordnet, wobei in der Regel eine Reihe unterschiedlicher Label vorgesehen sind. Die Label weisen in der Regel eine Label-ID auf, mit welcher die Label bezeichnet werden. Der Label-ID folgen in der Regel eine Reihe von Formatierungs- und Organisationsdaten, die von dem vom Benutzer verwendeten Betriebssystem des Computersystems bzw. der Leseeinrichtung beschrieben und ausgelesen werden.
  • Beim ANSI-Datenbandtyp sind zum Beispiel am Beginn eines jeden Datenbandes eine Reihe von Label vorgesehen, von welchen das erste Label als VOL1 bezeichnet wird, was für „Volume 1” steht. Es können weitere Label mit der Bezeichnung VOLx, wobei x für eine ganze Zahl von 1 bis 9 steht, oder ein Label HDR1, der den sogenannten Header einer Datei darstellt, folgen.
  • Je nach Datenbandtyp werden die Label unterschiedlich bezeichnet und sind unterschiedlich aufgebaut. Dies hat zur Folge, dass mit bekannten Computerprogrammen zum Lesen von auf einem Datenband gespeicherten Daten üblicherweise nur ein Datenbandtyp gelesen werden kann. Sollen mit einer Lesevorrichtung mehrere Datenbandtypen gelesen werden, so sind für jeden Bandtyp ein separater Programmabschnitt (= Funktion) vorzusehen. Es besteht daher ein erheblicher Bedarf nach einem Verfahren, mit welchen unterschiedliche Datenbandtypen mit einer Lesevorrichtung gelesen werden können.
  • Bei bekannten Verfahren, wie zum Beispiel einem in der GB 2,285,525 A beschriebenen Verfahren, werden Datenbänder jeweils eines einzigen Typs ausgelesen. Bei dem aus der GB 2,285,525 A hervorgehende Verfahren wird ein besonderes schnelles Auslesen der Nutzdaten ermöglicht.
  • Aus der US 5,819,309 geht eine automatische Bibliothek hervor, bei welcher Magnetbänder in einem Magazin gelagert sind und selbsttätig mittels eines Schlittens dem Magazin entnommen und einem Bandlaufwerk eingegeben werden können. Damit die Bänder eindeutig zuordenbar sind, werden sie mit einem Bar-Code versehen und entsprechende Identifikationsdaten im System gespeichert. Es ist auch möglich, dass die Identifikationsdaten auf dem Band selbst gespeichert werden.
  • In der US 5,327,305 ist ein Verfahren und ein Bandlaufwerk beschrieben, mit welchen Daten von unterschiedlichen Bandlaufwerken gelesen werden können. Bei diesem Verfahren werden nach dem Einlegen eines Bandes in ein Bandlaufwerk von dem Lesekopf Bewegungen bezüglich des Bandes ausgeführt, die sowohl in Längsrichtung als auch in Querrichtung des Bandes gerichtet sind. Hierdurch kann zum einen das physikalische Format des Bandes bzw. das magnetische Format bestimmt werden. Die hiermit zu lesenden Datenbänder sind meistens in Kassetten angeordnet. Mit diesem bekannten Bandlaufwerk können unterschiedliche Kassetten-Formate gelesen werden. Es ist jedoch auch möglich, unterschiedliche Formate, mit welchen die Daten auf die Bänder geschrieben werden, zum Beispiel Formate mit hoher Schreibdichte oder Formate mit geringer Schreibdichte, festzustellen.
  • In AS/400e, tage and diskette device programming, version 4, IBM, SC41-5716-01, second edition (May 1999), Seiten 64ff und 72ff gehen unterschiedliche Formatdaten für auf Datenbänder gespeicherte Daten hervor. Mit diesem bekannten Betriebssystem können Datenbänder, die in diesen Unterschiedlichen Formaten beschrieben sind, mittels einer Lesevorrichtung gelesen werden.
  • In der US 6,154,852 A ist ein Verfahren zum Sichern von Daten auf einem Datenband erläutert. Dieses Dokument geht von einem Stand der Technik wie dem Computersystem International Business Machines Cooperation Application System/400 (AS/400) aus, das mit dem Betriebssystem US/400 betrieben wird. Hierin ist auch angegeben, dass dieses Betriebssystem es Nutzern ermöglicht Daten auf ein Datenband zu sichern. Bei der Datensicherung können mehrere Bandlaufwerke gleichzeitig verwendet werden
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Lesen von auf einem Datenband gespeicherter Daten mittels einer Lesevorrichtung zu schaffen, das das Lesen unterschiedlicher Datenbandtypen erlaubt und dennoch einfach ausgebildet ist. Ferner liegt der Erfindung die Aufgabe zugrunde, eine Lesevorrichtung zum Ausführen des erfindungsgemäßen Verfahrens zu schaffen.
  • Die Erfindung wird mit einem Verfahren mit den Merkmalen des Anspruchs 1 und einer Lesevorrichtung gemäß Anspruch 10 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den jeweiligen Unteransprüchen angegeben.
  • Gemäß dem erfindungsgemäßen Verfahren werden die auf einem Datenband gespeicherten Daten mittels einer Lesevorrichtung ausgelesen, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und die Formatdaten Label aufweisen, mit welchen das Format der Nutzdaten definiert ist, wobei das Verfahren folgende Schritte umfasst:
    • – Eingeben des Datenbandtyps in die Lesevorrichtung,
    • – Auslesen von Parametern, die die Struktur der Label beschreiben, wobei die Parameter in Abhängigkeit des eingegeben Datenbandtyps ausgelesen werden,
    • – Identifizieren und Auslesen der Label mittels der die Label beschreibenden Parameter,
    • – Auslesen der Nutzdaten mittels der in den Label enthaltenen Angaben, und
    • – Ausgeben der Nutzdaten.
  • Erfindungsgemäß werden somit die Formate der einzelnen Datenbandtypen in Form von Parametern hinterlegt, nach deren Maßgabe das Leseverfahren arbeitet. Das erfindungsgemäße Verfahren kann somit mit einem einzigen Programmabschnitt (= eine einzige Funktion) realisiert werden, der auf die Parameter zugreift.
  • Gemäß der Erfindung weisen die Parameter Typbezeichnungen auf, wobei jedem Label eine Typbezeichnung zugeordnet ist. Mit diesen Typbezeichnungen können die Label in unterschiedliche Gruppen eingeteilt werden, wobei die Analyse der Label beim Identifizieren desselben durch Feststellen der Gruppenzuordnung wesentlich erleichtert wird. So sind Label, die immer vorzusehen sind, mit Typbezeichnung „immer” versehen, weshalb beim Abarbeiten einer Sequenz von Labeln ein Fehler sofort festgestellt werden kann, wenn ein Label des Typs „immer” fehlt. Es wird eine weitere Typbezeichnung „niemals” verwendet, die besagt, dass ein solcher Label bei dem jeweiligen Datenbandtyp niemals vorkommen kann. Hierdurch können mit geringem Aufwand Parameter eines Datenbandtyps auf einen anderen Datenbandtyp abgeändert werden.
  • Dem Erfinder ist es gelungen, für die Parameter eine Struktur vorzusehen, mit welcher grundsätzlich alle Datenbandtypen hinreichend beschreibbar sind. Bei der Erfindung ist deshalb für jeden Bandtyp ein separater Satz Parameter hinterlegt, wobei jeder Satz Parameter eine Tabelle mit allen Label-IDs des Bandtyps aufweist, und durch die Struktur der Tabelle die Reihenfolgen, mit welcher die Label auf dem Band aufgezeichnet sein können, definiert ist.
  • Das erfindungsgemäße Verfahren kann in Form eines Computerprogramms umgesetzt werden, wobei bei einer bevorzugten Ausführungsform der Erfindung, das Computerprogramm in allgemeine Klassen und spezielle Klassen strukturiert ist, wobei Methoden der speziellen Klassen den allgemeinen Klassen vererbt werden, und für jeden Datenbandtyp mindestens eine spezielle Klasse vorgesehen ist. Hierdurch können in den speziellen Klassen die Datenband- spezifischen Methoden und Variablen definiert werden, die dann auf die allgemeine Klasse vererbt werden. Hierdurch ist beim Einführen eines neuen Datenbandtypes lediglich notwendig, eine spezielle Klasse zu erstellen und die Variablen und Methoden der allgemeinen Klasse können, soweit sie nicht durch die spezielle Klasse ersetzt werden, unverändert beibehalten werden. Eine derartige Programmstruktur erlaubt eine schnelle und einfache Adaption des Computerprogrammes an unterschiedliche Datenbandtypen.
  • Nachfolgend wird die Erfindung beispielhaft anhand der Zeichnungen näher erläutert. In denen zeigen:
  • 1 eine Übersicht des Verfahrens in einem Flussdiagramm,
  • 2 das Identifizieren von Label in einem Flussdiagramm,
  • 3 das Vergleichen des gelesenen Labels mit Vorgaben,
  • 4 das Extrahieren von Variablen in einem Flussdiagramm,
  • 5 Parameter zum Lesen eines ANSI-Datenbandes,
  • 6 Parameter zum Lesen eines Honeywell-Datenbandes,
  • 7 schematisch eine Lesevorrichtung,
  • 8a8d schematisch Datenbänder mit den darauf aufgezeichneten Daten,
  • 9 den Aufbau eines Computerprogramms zum Ausführen des erfindungsgemäßen Verfahrens schematisch in einem Wolkendiagramm,
  • 10 einen Ausschnitt des Computerprogramms aus 9 schematisch in einem Klassendiagramm,
  • 1112b Ausschnitte des Computerprogramms nach 9 in Sequenzdiagrammen, und
  • 13 ein Drucksystem schematisch in einem Blockdiagramm.
  • Eine Übersicht über das erfindungsgemäße Verfahren ist schematisch in der 1 gezeigt. Mit einem Schritt S1 beginnt das Verfahren. In einem Schritt S2 wird das Datenband 17 in eine Lesevorrichtung 18 eingelegt und hierbei in die Lesevorrichtung 18 der Bandtyp eingegeben. Dies kann zum Beispiel durch Betätigen einer entsprechend markierten Taste 19 an der Lesevorrichtung 18 erfolgen. Durch Betätigen dieser Taste 19 werden vorab hinterlegte Parameter ausgewählt, welche den jeweiligen Bandtyp beschreiben. Die Lesevorrichtung 18 wird von einer eine CPU und eine Speichereinrichtung aufweisenden Steuereinrichtung 20 gesteuert.
  • Im Schritt S3 wird geprüft, ob der die Label beschreibende Code auf dem Datenband in ASCII vorliegt. Ist dies nicht der Fall, so wird dieser Code in ASCII umgesetzt (Schritt S4). Ansonsten geht der Verfahrensablauf direkt auf den Schritt S5 über, in dem die Label identifiziert werden. Dies wird unten näher erläutert. Im Schritt S6 wird geprüft, ob die Label identifiziert werden konnten. Ist dies nicht der Fall, so geht der Verfahrensablauf auf den Schritt S7, mit dem eine entsprechende Fehlermeldung ausgegeben wird und dann auf den Schritt S8 über, mit dem das Verfahren beendet wird. Konnte das Label identifiziert werden, so geht das Verfahren vom Schritt S6 auf den Schritt S9 über, mit dem das identifizierte Label gelesen bzw. extrahiert wird. Dies wird unten näher erläutert.
  • Im Schritt S10 wird geprüft, ob ein Bandende vorliegt. Ist dies der Fall, so wird im Schritt S11 eine entsprechende Funktion ausgeführt. Ansonsten wird im Schritt S12 geprüft, ob ein Dateiende vorliegt. Ist dies der Fall, wird im Schritt S13 eine Dateiendefunktion ausgeführt.
  • Ansonsten wird im Schritt S14 geprüft, ob ein Dateianfang vorliegt. Ist dies der Fall, wird im Schritt S15 eine Dateianfangsfunktion ausgeführt. Ansonsten geht der Verfahrensablauf auf den Schritt S8 über, mit dem das Verfahren beendet wird. Die Verfahrensschritte S11, S13 und S15 gehen jeweils auf den Schritt S8 über, mit dem das Verfahren beendet wird.
  • Der wesentliche Unterschied zu bekannten Verfahren liegt im Schritt S5, mit dem die Label identifiziert werden. Bevor dieses Verfahren im Detail erläutert wird, werden nachfolgend kurz Beispiele der Datenstrukturen von Datenbändern des ANSI-Typs anhand der 8a bis 8d erläutert.
  • 8a zeigt ein Datenband mit einer schematischen Darstellung der Datenstruktur. Hierbei ist eine einzige Datei A auf ein einziges Datenband, das auch als Volume bezeichnet wird, gespeichert. Am Anfang des Bandes sind zwei Label VOL1 (= volume 1) und HDR1 (= header 1) aufgezeichnet. Auf diese beiden Label folgt eine Tape Mark TM. Danach folgt die Datei A. Am Ende der Datei sind eine Tape Mark TM, ein Label EOF1 (1. End of Filel abel) und zwei weitere Tape Marks TM aufgezeichnet, die das Ende des Datenbandes markieren.
  • Bei diesem Beispiel stellen die Label VOL1, HDR1 und EOF1 und die Tape Marks TM die Formatdaten und die Datei A die Nutzdaten dar. Nach dem ANSI-Standard beginnen die Daten auf einem Datenband immer mit dem Label VOL1. Danach folgt der Label HDR1, der die die Datei A beschreibenden Daten beinhaltet.
  • 8b zeigt ein Beispiel, bei dem eine Datei A auf drei Datenbänder verteilt ist. Diese Datenbänder beginnen jeweils mit den Labeln VOL1 und HDR1. In den Labels VOL1 und HDR1 sind Angaben enthalten, durch welche die Reihenfolge der drei Bänder festgelegt ist. Die beiden ersten Bänder weisen nach dem Ende des jeweiligen Teils der Datei A das Label EOV1 auf, das „1. End of Volume label” bedeutet. Mit diesem Label wird das Ende des auf dem jeweiligen Band beschriebenen Bereiches markiert. Das dritte Datenband weist statt dem Label EOV1 das Label EOF1 auf, wobei sowohl das Ende des auf dem Band beschriebenen Bereiches mit dem Ende der Datei A zusammenfällt. Das Label EOF1 und die beiden Tape Marks TM zeigen an, dass kein weiteres Datenband folgt.
  • 8c zeigt ein Beispiel, bei dem zwei Dateien A, B auf einem Datenband gespeichert sind. Der Beginn des Datenbandes ist mit dem Label VOL1 markiert. Darauf folgt das Label HDR1, eine Tape Mark TM und die Datei A. Das Ende der Datei A ist mit dem Label EOF1 markiert und der Anfang der Datei B mit dem Label HDR1, wobei diese Label jeweils durch eine Tape Mark TM von den benachbarten Daten abgegrenzt sind. Das Ende der Datei B wird mit dem Label EOF1 markiert, wobei wiederum zwei Tape Marks TM vorgesehen sind.
  • 8d zeigt ein Beispiel, bei dem die Dateien A, B und C auf drei Datenbänder verteilt sind. Die Datenbänder sind am Anfang jeweils mit dem Label VOL1 markiert. Der Anfang der Dateien A, B und C ist jeweils mit dem Label HDR1 markiert, wobei dieses Label auch am Anfang der Fortsetzung der Datei B verwendet wird. Das Ende der Dateien ist jeweils durch das Label EOF1 markiert. Das Ende des auf einem Band beschriebenen Bereiches ist mit dem Label EOF1 markiert, sofern dieses Ende nicht mit einem Ende einer Datei zusammenfällt, wie es bei der Datei C der Fall ist. Hier wird wiederum das Label EOF1 verwendet.
  • Die in 8a bis 8d gezeigten Beispiele zeigen, dass die in einem Bandtyp verwendeten Label mit unterschiedlicher Reihenfolge auftreten können. Zudem sind in diesen Beispielen keine optionalen Label dargestellt. Grundsätzlich ist es auch möglich, dass das verwendete Betriebssystem oder der Benutzer weitere Informationen zum Format und zur Struktur der gespeicherten Daten auf ein Datenband abspeichert. Diese weiteren Informationen werden nach dem ANSI-Standard in die Label VOLx, UVLx, HDRx, EOFx, UTLx, EOVx abgespeichert, wobei „x” für eine ganze, einstellige Zahl oder ein ASCII-Zeichen steht.
  • Die Abfolge dieser Label ist vorgegeben, wobei jedoch einige Label optional verwendet werden können und je nach Bedarf vom Betriebssystem oder dem Benutzer eingesetzt werden.
  • Weitere Bandtypen gehen aus Xerox Laser Printing Systems – Tape Formats Manual, RANK XEROX, Publication 700P91799, Februar 1991, Version 3.5 hervor. Dieses Dokument wird unter Bezugnahme inkorperiert.
  • 5 zeigt die Struktur von Parametern, die den ANSI-Standard beschreiben und bei erfindungsgemäßen Verfahren zum Auslesen von Bändern des ANSI-Typs verwendet werden. Diese Parameter sind in drei Tabellen, der Sequenztabelle TS, der Labeltabelle TL und der Feldtabelle TF unterteilt. In der Sequenztabelle TS sind insgesamt fünf Spalten für unterschiedliche Label IDs vorgesehen. Zu diesen fünf Spalten sind zwei weitere Spalten für Folgesequenzen 1 und 2 vorgesehen, die auf jeweils eine Folgesequenz verweisen, die alternativ möglich sind. In den Zeilen sind mögliche Labelsequenzen für den Bandanfang, Dateianfang, Daten, Dateiende, Bandende und das Ende des Bandes aufgeführt. In jeder Zeile können mehrere Label angegeben sein. Die Label VOL1, HDR1, TM, EOF1 und EOV1 sind notwendige Label, die „immer” vorhanden sind. Die übrigen Label dieser Tabelle sind „optional”. Die optionalen Label werden, wenn sie angewandt werden, immer in der Reihenfolge, in der sie in einer Zeile dieser Tabelle dargestellt sind, verwendet. So kann der Bandanfang durch die Label VOL1, VOL2, VOL3, UVL1, UVL2 markiert sein. Auf die Label des Bandanfangs folgen, wie es in der Spalte Folgesequenz 1 angegeben ist, die Label des Fileanfangs mit HDR1 usw. Sind in den Spalten Folgesequenz 1 und Folgesequenz 2 zwei Alternative angegeben, wie zum Beispiel bei den Daten, auf welche die Folgesequenz Dateiende oder Bandende folgen, kann eine dieser beiden Folgesequenzen alternativ auftreten, wobei die Folgesequenz 2 nur angewandt wird, wenn der erste Label der Folgesequenz nicht vorbestimmten Bedingungen (Identifikation) entspricht. So folgt nach den Daten und der jeweiligen Tape Mark die Folgesequenz Dateiende (End of File) mit EOF1 usw., falls ein Dateiende vorliegt, unabhängig davon, ob hiermit auch das Bandende markiert wird. Nur wenn kein Dateiende vorliegt und der Aufzeichnungsbereich am Bandende angelangt ist, wird die Folgesequenz Bandende (End of Tape) vorgesehen.
  • In der Labeltabelle TL ist der Aufbau der einzelnen Label definiert. Hierzu sind Spalten für die ID-Länge, das erste Label, das letzte Label, die Länge des Labels, des Typs, und verschiedene Felder vorgesehen. Das Label VOL1 besitzt zum Beispiel eine ID-Länge von 4 und die Werte für das erste und letzte Label sind jeweils auf 0 gesetzt, da es nur eine Art von Label Volume 1 gibt. Bei dem Label VOLx beträgt die ID-Länge hingegen nur 3 und das erste Label ist auf 2 und das letzte Label ist auf 9 gesetzt, da x die Werte 2 bis 9 annehmen kann. Das Label UVLx hat wiederum eine ID-Länge von 3 und x kann einen beliebiges ASCII-Zeichen sein. Die Länge der Label VOL1 bis HDRx beträgt jeweils 80. Wie es oben bereits angegeben ist, sind die Label VOL1 und HDR1 notwendige Label und werden daher mit dem Typ „immer” (= Always)versehen, wohingegen die Label VOLx, UVLx, HDR2, HDRx mit dem Typ „optional” (= Optional) versehen sind. Die Label können auch mit einem Typ „niemals” (= neuer) versehen werden. Dies bedeutet, dass die Label niemals auftreten. Diese Typbezeichnung ist vorteilhaft, wenn Tabellen TS, TL, TF für einen weiteren, neuen Datenbandtyp erstellt wird, indem bestehende Tabellen eines ähnlichen Datenbandtyps abgeändert werden. Hierbei können Label, die beim neuen Datenbandtyp nicht verwendet werden, mit dem Typ „niemals” versehen werden. Hierdurch ist es möglich mit geringen Änderungen den Wesentlichen Inhalt der Tabellen beizubehalten.
  • Das Versehen der Label mit den Typbezeichnungen „immer”, „optional” und „niemals” erlaubt eine einfach strukturierte Parametrisierung der unterschiedlichsten Datenbandtypen. Soll die Anwendung des vorliegenden Verfahrens erweitert werden, wie z. B. auf das Lesen von Disketten, CDs, usw., so ist es grundsätzlich auch möglich, weitere Typbezeichnungen einzuführen.
  • In den einzelnen Feldern (Field ID1 bis Field ID5) sind die Bezeichnungen angegeben, für die Daten, die darin gespeichert sind.
  • Die Felder sind wiederum in der Feldtabelle TF näher definiert, wobei diese Feldtabelle für jede Feld-ID eine Spalte für den vorstehenden Namen, des Typs, der Anfangsposition und der Länge des Feldes aufweist. So bezeichnet das Feld mit der Feld-ID Serial No. die Seriennummer (Serial Number). Es ist ein alphanumerisches Feld mit der Startposition 4 und der Länge 6.
  • Für das erfindungsgemäße Verfahren sind für jeden damit lesbaren Bandtyp ein Satz Parameter hinterlegt, der jeweils die drei Tabellen TS, TL und TF umfasst.
  • Im Schritt S2 werden diese Parameter für den jeweiligen Bandtyp ausgelesen. Das Identifizieren des Labels S5 folgt nach Maßgabe dieser Parameter. Hierzu wird das in 2 gezeigte Verfahren ausgeführt, das mit dem Schritt S16 beginnt. Im Schritt S17 wird geprüft, ob das Label identifiziert worden ist. Ist dies der Fall, wird auf den Schritt S18 verzweigt, mit dem das Identifizieren des Labels beendet wird. Ansonsten wird der Programmablauf auf den Schritt S19 verzweigt, mit dem ein gelesenes Label mit einem Label der Sequenztabelle TS verglichen wird, wobei auf das Label der Sequenztabelle ein Zeiger zeigt. Dieses Vergleichsverfahren beginnt mit dem Schritt S20. Im Schritt S21 wird geprüft, ob die Referenzlänge dieser Label-ID gleich 0 ist. Ist dies der Fall, wird im Schritt S22 geprüft, ob die Länge des Labels gleich der Referenzlänge ist. Ist dies nicht der Fall, so wird auf den Schritt S23 übergegangen, mit dem festgestellt wird, dass das ausgelesene Label nicht dem Referenzlabel entspricht. Hierauf wird im Schritt S24 dieses Vergleichsverfahren beendet. Ist die Label-ID-Länge ungleich 0, so verzweigt der Verfahrensablauf im Schritt S21 auf den Schritt S25. Hier wird geprüft, ob die Label-ID des ausgelesenen Labels mit der Label-ID des Referenzlabels übereinstimmt. Ist dies nicht der Fall, so wird auf die oben beschriebenen Schritte S23 und S24 verzweigt. Ansonsten wird im Schritt S26 geprüft, ob dieses Label erlaubt ist. Hierbei wird die Spalte Typ in der Labeltabelle TL abgefragt, die unter anderem auch den Begriff „niemals” („never”) enthalten kann. Sollte hier niemals ausgelesen werden, so ist das Label nicht erlaubt und es wird wiederum auf die Schritte S23 und S24 verzweigt. Ansonsten wird im Schritt S27 geprüft, ob die Länge des ausgelesenen Labels gleich der Länge des Referenzlabels ist. Ist dies nicht der Fall, so wird wiederum auf die Schritte S23, S24 verzweigt, ansonsten auf den Schritt S28 übergegangen. Im Schritt S28 wird geprüft, ob das Label einen Bereich aufweist. Das Vorliegen eines Bereiches bedeutet, dass das Label eine Variable, wie zum Beispiel die Variable „x” in VOLx, UVLx oder HDRx besitzt, die für eine Zahl oder ein beliebiges ASCII-Zeichen stehen kann. Bei den Label VOL1 und HDR1 nach dem ANSI-Standard gibt es keinen solchen Bereich. Beim Vorliegen eines solchen Labels wäre die Antwort auf den Schritt S28 Nein und der Verfahrensablauf würde auf den Schritt S29 verzweigen, mit dem festgestellt wird, dass das ausgelesene Label das Referenzlabel ist. Ist das ausgelesene Label hingegen ein Label VOL2, VOL3, ..., UVL2, UVL3, ..., HDR3, so ist die Antwort im Schritt S28 Ja und der Verfahrensablauf verzweigt auf den Schritt S30 mit dem geprüft wird, ob der Bereich ein alphanumerischer Bereich ist. Ist dies der Fall, wird der Verfahrensablauf auf den Schritt S31 verzweigt, in dem geprüft wird, ob das für die jeweilige Variable angegebene Zeichen ein alphanumerisches Zeichen ist. Ist dies nicht der Fall, wird mit dem Schritt S32 eine Fehlermeldung ausgegeben und auf die Schritte S23, S24 verzweigt. Ansonsten wird auf die Schritt S29, S24 verzweigt.
  • Hat die Abfrage im Schritt S30 ergeben, dass kein alphanumerischer Bereich vorliegt, so ist es ein numerischer Bereich, womit im Schritt S33 geprüft wird, ob die für die Variable angegebene Nummer die erwartete Nummer ist. Ist die Antwort Nein, so wird wiederum auf die Schrittfolge S32, S23, S24 verwiesen. Ist die Antwort in der Abfrage des Schrittes S33 Ja, so wird im Schritt S29 festgestellt, dass das ausgelesene Label dem Referenzlabel entspricht und mit dem Schritt S24 das Verfahren beendet.
  • Der Verfahrensablauf geht nun wieder zurück auf den Schritt S19 in 2, auf den der Schritt S34 folgt, mit dem geprüft wird, ob ein Label gefunden worden ist. Ist diese Antwort Ja, wird im Schritt S35 geprüft, ob das Label erlaubt (always, optional) ist und kein Bereich vorhanden ist, oder ob das Label nicht erlaubt ist (Typ niemals) und einen Bereich hat. Bei der Prüfung, ob kein Bereich vorhanden ist, wird geprüft, ob grundsätzlich kein Bereich da ist oder ob die letzte Möglichkeit eines Bereiches erreicht worden ist. Ergibt die Prüfung im Schritt S35 Ja, so geht der Verfahrensablauf auf den Schritt S36 über, in dem der Zeiger auf das nächste gültige Label gesetzt wird. Im Schritt S23 wird ein Flag, das als Flag-Sequenzwechsel bezeichnet wird, gesetzt, falls das letzte ausgelesene Label das letzte Label einer Folgesequenz ist und in der Tabelle TS für die letzte Folgesequenz zwei alternative Sequenzen (in Nextsequence1 und in Nextsequence2) angegeben sind. Das Setzen des Flag-Sequenzwechsel bedeutet, dass ein Wechsel von einer Folgesequenz auf eine andere Folgesequenz vorliegt und dass zwei Alternativen als Folgesequenzen zur Verfügung stehen.
  • Das Flag-Sequenzwechsel wirkt mit einem weiteren Flag, dem Flag-Alternativ, zusammen, das standardmäßig (default) nicht gesetzt ist. Das Setzen des Flag-Alternativ wird unten näher erläutert. Danach geht der Verfahrensablauf wieder auf den Schritt S17 über.
  • Ergab die Abfrage im Schritt S35 die Antwort Nein, wird geprüft, ob das Label erlaubt ist. Ergibt die Antwort Ja, geht das Verfahren auf den Schritt S17 über. Ergibt die Antwort Nein, so wird im Schritt S38 festgestellt, dass das ausgelesene Label nicht zulässig ist und der Verfahrensablauf geht auf den Schritt S18 über.
  • Hat hingegen der Schritt S34 ergeben, dass kein Label gefunden worden ist, so wird im Schritt S39 geprüft, ob ein Fehler vorhanden ist. Ergibt der Schritt S39 einen Fehler, so wird im Schritt S40 der Fehler ausgegeben und der Verfahrensablauf geht auf den Schritt S18 über. Ergibt der Schritt S39 hingegen, dass kein Fehler vorhanden ist, so wird im Schritt S41 geprüft, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Alternativ nicht gesetzt ist und der ausgelesene Bereich kein Datensegment ist und das Label vom Typ „optional” oder „niemals” ist. Ist das Flag-Sequenzwechsel nicht gesetzt, so bedeutet dies, dass kein Sequenzwechsel mit einer alternativen Folgesequenz vorliegt. Ist das Flag-Alternativ nicht gesetzt, so bedeutet dies, dass der Zeiger nicht auf ein Label einer alternativen Folgesequenz (Spalte NextSequence2 in TS) zeigt. Ergibt die Prüfung ein Ja, so geht der Verfahrensablauf auf den Schritt S36 über, in dem der Zeiger auf das nächste gültige Label gesetzt wird.
  • Ergibt die Abfrage im Schritt S41 ein Nein, so geht der Verfahrensablauf auf den Schritt S42 über, in dem geprüft wird, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Alternativ gesetzt ist und ob das Label vom Typ „immer” ist. Ergibt diese Abfrage ein Ja, so bedeutet dies, dass das Label ein Label einer alternativen Folgesequenz 2 ist, weshalb der Zeiger auf das erste Label der Folgesequenz 2 gesetzt wird (Schritt S43). Im Schritt S43 wird auch das Flag-Alternativ gesetzt, womit angezeigt ist, dass das ausgelesene Label ein Label einer alternativen Folgesequenz 2 ist. Der Verfahrensablauf geht dann auf den Schritt S17 über. Ergibt die Abfrage im Schritt S42 hingegen ein Nein, so wird im Schritt S44 geprüft, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Alternativ nicht gesetzt ist und der ausgelesene Bereich kein Datensegment ist und das Label vom Typ „immer” ist, oder ob das Flag-Alternativ gesetzt ist und der ausgelesene Bereich kein Datensegment ist und das Label vom Typ „immer” ist. Ergibt diese Abfrage ein Ja, so wird im Schritt S45 festgestellt, dass das gesuchte Label nicht gefunden worden ist. Es wird eine entsprechende Fehlermeldung erzeugt und der Verfahrensablauf auf den Schritt S18 übergeben. Ergibt die Abfrage im Schritt S44 hingegen ein Nein, so geht der Verfahrensablauf auf den Schritt S46 über, in dem geprüft wird, ob der ausgelesene Code ein Label der Folgesequenz 1 ist und kein alternatives Label der Folgesequenz 2 existiert und ob der Code ein Datensegment ist oder ob der ausgelesene Code ein alternatives Label der Folgesequenz 2 ist und ob er ein Datensegment ist, indem abgefragt wird, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Alternativ nicht gesetzt ist und der ausgelesene Bereich ein Datensegment ist, oder ob das Flag-Alternativ gesetzt ist und der ausgelesene Bereich ein Datensegment ist. Ergibt diese Abfrage ein Ja, so geht der Verfahrensablauf auf den Schritt S18 über. Ansonsten geht der Verfahrensablauf zunächst auf den Schritt S47, mit dem eine entsprechende Fehlermeldung erzeugt wird, und dann auf den Schritt S18 über.
  • Mit dem Schritt S18 geht der Verfahrensablauf wieder auf das in 1 gezeigte Hauptverfahren über, in dem, wie es oben erläutert worden ist, geprüft wird, ob das Label identifiziert worden ist (Schritt S6) und danach die Variablen aus dem Label im Schritt S9 ausgelesen werden. Das Verfahren zum Auslesen der Variablen aus dem Label ist ausführlich in 4 gezeigt. Dieses Verfahren beginnt mit dem Schritt S48. Im Schritt S49 wird geprüft, ob das auszulesende Feld das letzte Feld des Labels ist. Wenn die Antwort Ja ist, wird das Ausleseverfahren gemäß 4 im Schritt S50 beendet. Ansonsten wird im Schritt S51 der Inhalt des Feldes des Labels kopiert und im Schritt S52 geprüft, ob das Feld ein numerisches Feld ist. Diese Prüfung erfolgt anhand der Spalte Typ der Feldtabelle TF. Ist das Ergebnis der Abfrage des Schrittes 52 Ja, so werden im Schritt S52 die aus dem Feld kopierten Zeichen in numerische Werte konvertiert. Danach geht das Verfahren auf den Schritt S54 über. Wenn die Abfrage im Schritt S52 ergeben hat, dass das Feld kein numerisches Feld ist, so geht der Verfahrensablauf direkt auf den Schritt S54 über. Im Schritt S54 wird das nächste Feld ausgewählt und der Verfahrensablauf springt auf den Schritt S49. Hier wird das Verfahren erneut durchlaufen, bis im Schritt S49 festgestellt worden ist, dass das letzte Feld ausgelesen worden ist.
  • Die hierdurch ausgelesenen Daten werden in den Schritten S10, S12 und S14 entsprechend den aus den Tabellen TS, TL und TF ausgelesenen Parametern abgefragt und interpretiert, so dass die Nutzdaten korrekt vom Datenband abgelesen werden können.
  • Mit dem erfindungsgemäßen Verfahren ist es möglich, jeden Bandtyp, für den die Tabellen TS, TL und TF mit den entsprechenden Parametern hinterlegt sind, zu lesen. In 6 sind zum Beispiel die entsprechenden Tabellen TS, TL und TF für den Honeywell-Bandtyp angegeben. Der Aufbau der Tabellen ist identisch zu den in 5 angegebenen Tabellen. Die Parameter sind hierbei jedoch an das Format des Honeywell-Bandtyps angepasst. Grundsätzlich können diese Tabellen für beliebige Bandtypen erstellt werden, so dass das erfindungsgemäße Verfahren grundsätzlich für alle Bandtypen verwendbar ist.
  • Die Erfindung wird nachfolgend anhand eines Wolkendiagrammes (9), eines Klassendiagrammes (10) und von Sequenzdiagrammen (11, 12a, 12b) erläutert. Die Klassen- und Sequenzdiagramme entsprechen der Unified Modeling Language, wie sie z. B. im „UML-Unified Modeling Language”, objektorientierte Modellierung für die Praxis, 2. Auflage, (ISBN 3-8273-1407-0) beschreiben ist.
  • 9 zeigt in einem Wolkendiagramm eine spezielle Struktur eines Programmes zum Ausführen des erfindungsgemäßen Verfahrens. Dieses Programm ist in C++ programmiert.
  • Die Wolken W1 (CActionList), W2 (CActionPos) und W3 (CActionRead) stellen drei Befehle dar, die dem Anwender zur Verfügung stehen, wobei mit CActionList eine Art Directory der auf dem Datenband bzw. Datenträger gespeicherten Dateien erstellt wird, mit CActionPos der Gerätezeiger gesetzt wird, wodurch zum Beispiel bei einem Datenband das Datenband an einer bestimmten Position über dem Lesekopf positioniert wird, und mit dem Befehl CActionRead der Datenträger gelesen wird.
  • Die Wolken W1, W2, W3 stellen jeweils Klassen dar, die im Diagram mit einer Wolke W4 (CAction) verbunden sind, wobei die Wolke W4 ein Interface bzw. eine Interfaceklasse ist. Eine Interfaceklasse ist eine vollständig abstrakte Klasse, was bedeutet, dass darin nur der Name der jeweiligen Methode definiert ist und eine Beschreibung der Input-Parameter und der Output-Parameter angegeben ist. Beim Aufrufen einer der drei Befehle wird eine der Klassen W1, W2, W3 auf die Interfaceklasse W4 vererbt, wodurch die in der Interfaceklasse W4 definierte Methode mit Programmcode der Klassen W1, W2, W3 implementiert wird.
  • Die Interfaceklasse W4 (CAction) verwendet weitere Interfaceklassen W5 (CInput), W7 (CProcess) und W9 (COutput). Die Interfaceklassen W5 und W7 sind mit einer Pufferklasse W6 (CBuffer(Input)) und die Interfaceklassen W7 (CProcess) und W9 (COutput) sind mit einer Pufferklasse W8 (CBuffer(Output)) gekoppelt. Diese Klassen W6 und W8 beinhalten Pufferabschnitte, die mit jeweils einem Flag versehen sind, mit welchen Schreib- und Lesevorgänge der entsprechenden Pufferabschnitte steuerbar sind, wobei die Flags von Puffer-Dienstprogrammen gesetzt werden. Diese Klassen W6 und W8 sind in der Patentanmeldung DE 199 57 594 A1 beschrieben. Diese Patentanmeldung wird hiermit in die Offenbarung der vorliegenden Anmeldung aufgenommen. Die Interface und Klassen W5 bis W9 erzeugen eine vom Interface W5 bis zum Interface W9 durchgehenden Datenstrom, wobei der Datenstrom durch die Klassen W6, W8 derart gepuffert ist, dass das vorstehende Programm sowohl in einem Single-Threadded-Modus als auch in einem Multi-Threadded-Modus ausgeführt werden kann. Viele Betriebssysteme erlauben nur einen Single-Threadded-Modus. Auf derartigen Betriebssystemen ist das erfindungsgemäße Programm ausführbar. Wenn ein Betriebssystem jedoch einen Multi-Threadded-Modus erlaubt und ein Computer mit mehreren Prozessoren verwendet wird, ist der Multi-Threadded-Modus in der Regel wesentlich effizienter und schneller. Durch die erfindungsgemäße Struktur dieses Programmes ist somit eine Ausführung in beiden Modi möglich, wodurch zum einen vielfältige Einsatzmöglichkeiten geschaffen werden und zum anderen ein maximal effizientes Abarbeiten sichergestellt wird.
  • Da die Interfaceklassen W5, W7 und W9 keine eigenen Programmabschnitte beinhalten, sondern lediglich die Methoden an sich definieren, verwenden sie weitere allgemeine Klassen W10 (CDevice), W11 (CDriver), W12 (CLabel) und W13 (CData). Die Klasse W10 beinhaltet zum Beispiel Variablen und Methoden zum Ansteuern von Geräten, insbesondere von Lesegeräten zum Lesen von Datenspeichern, wie zum Beispiel Magnetbandlaufwerke, Floppylaufwerken oder dergleichen. Die Interfaceklasse W11 beinhaltet Variablen und Methoden, die ein Interface zu den Treibern der jeweiligen Geräte bilden. Die Klasse W12 (CLabel) beinhaltet Variablen und Methoden zum Bearbeiten von Labeln auf Datenbändern. Und die Klasse W13 (CData) beinhaltet Variablen und Methoden zum Verarbeiten des gelesenen Datenstromes, wobei je nach Datensystem Modifikationen in Abhängigkeit des Datentypes durchgeführt werden. Diese allgemeinen Klassen werden jeweils durch spezielle Klasen W14 bis W18 bzw. W19 bis W21 bzw. W22 bis W32 bzw. W33 bis W42 ergänzt. Die Klassen W14 bis W18 enthalten Variablen und Methoden zum Ansteuern spezieller Geräte, wobei diese Klassen auf die Klasse W10 vererbt werden und vom Interface W5 verwendet werden. Gleiches gilt für die speziellen Klassen W19 bis W21, die auf die Klasse W11 vererbt werden und vom Interface W5 verwendet werden. Mit den Klassen W19 bis W21 erfolgt eine Anpassung der Treiber der Betriebssysteme auf das vorliegende Programm.
  • Die speziellen Klassen W22 bis W32 werden auf die allgemeine Klasse W12 vererbt und vom Interface W7 verwendet. Diese Klassen stellen den Kern des Programmes dar, mit welchem die unterschiedlichen Datenbandtypen analysiert und gelesen werden können. Diese Klassen W12, W22–W32 entsprechen im Wesentlichen dem in den 1 bis 4 dargestellten Verfahren.
  • Die speziellen Klassen W33 bis W42 weisen Variablen und Methoden auf, die in Abhängigkeit des Datenbandtypes spezielle Modifikationen an den Daten ausführen und die auf die allgemeine Klasse W13 vererbt werden. Diese Klassenstruktur wird auch von dem Interface W7 verwendet.
  • Die Interfaceklasse W9 (COutput) verwendet zwei Klassen W43 (CGCI) und W44 (CNoGCI), die die ausgegebenen Daten entweder im Format GCI oder nicht im Format GCI darstellen.
  • Die genaue Struktur dieses Computerprogrammes wird nachfolgend am Beispiel der speziellen Klassen W22 (CLblANSI) und W24 (CLblHoneywell) sowie der allgemeinen Klasse W12 (CLabel) erläutert. 10 zeigt ein entsprechendes Klassendiagramm, in dem diese drei Klassen W22, W24 und W12 mit ihren Variablen und mit ihren Methoden dargestellt sind. Ferner sind in diesem Diagramm Subklassen W12a (CLabelSequence), W12b (CLabelData) und W12c (CFieldData) dargestellt. Die allgemeine Klasse W12 enthält allgemeine Variablen und allgemeine Methoden, die auf die Variablen und Methoden der Subklassen zugreifen. Die Variablen und Methoden der Subklassen W12a, W12b, W12c können vom Interfaces W5, W7 und W9 nicht direkt aufgerufen werden, sondern werden indirekt über das Abfragen und Aufrufen der Variablen und Methoden der allgemeinen Klasse W12 bzw. der speziellen Klasse W22, W24 aufgerufen.
  • Die Variablen und Methoden der allgemeinen Klasse, die auch als Basisklasse bezeichnet werden kann, werden unabhängig vom jeweiligen Datenbandtyp verwendet. In den speziellen Klassen W22 bis W32 sind Variablen und Methoden enthalten, die speziell für den jeweiligen Datenbandtyp ausgebildet sind. Im vorliegenden Ausführungsbeispiel enthalten die speziellen Klassen keine Variablen, sondern lediglich Methoden. Diese Methoden der speziellen Klassen W22, W24 werden auf die Methoden der allgemeinen Klasse W12 vererbt, d. h. dass die Methode der speziellen Klasse die korrespondierende Methode, d. h. die Methode mit dem gleichen Namen, der allgemeinen Klasse W12 ersetzt. Im vorliegenden Ausführungsbeispiel werden jeweils die Methoden Init, PositionBeginningOfFile, PositionEndOfFile, PositionEndOfVolume und TapeProcess der allgemeinen Klasse W12 durch die Methoden der speziellen Klasse W22, falls ein Band des Typs ANSI bzw. durch die Methoden der speziellen Klasse W24 ersetzt, falls ein Band des Typs Honeywell ausgelesen wird. In den Methoden Init der speziellen Klassen sind die Parameter für den jeweiligen Bandtyp enthalten.
  • Nachfolgend wird anhand von beispielhaften Programmausschnitten anhand der Sequenzdiagramme der 11 bis 12b das Zusammenwirken der Klassen näher erläutert.
  • In 11 ist der erzeugte Sequenzablauf durch den Aufruf der Methode Init der speziellen Klasse W22 für Datenbänder des ANSI-Typs dargestellt. Dieser Aufruf erfolgt im Programmschritt S2 des Flussdiagrammes aus 1. Hierdurch wird eine Sequenz SEQ1 gestartet, die der speziellen Klasse W22 zugeordnet ist. Mit dieser Sequenz werden zunächst wiederholt die Methoden Set und SetNext der Subklasse W12a (CLabelSequence) aufgerufen, wodurch die Variablen dieser speziellen Klasse beschrieben werden. Durch die Methode Set werden die Zeilen der Tabelle TS mit den jeweiligen Label-Sequenzen beschrieben und durch den Befehl SetNext werden die Angaben zur nächsten Folgesequenz (NextSequence1 bzw. NextSequence2) beschrieben. Diese Befehle werden sooft wiederholt, bis alle Zeilen der Tabelle TS ausgefüllt sind.
  • Danach erfolgt ähnliches zum Beschreiben der Tabelle TL mittels der Befehle SetId, wobei diese Methode in der Klasse CLabelData enthalten ist. Hierdurch werden entsprechende Variablen dieser Klasse beschrieben. Durch das Aufrufen der Methode SetId werden jeweils die Parameter der ersten fünf Spalten der Tabelle TL eingetragen. Durch das Aufrufen der Methode SetVar werden dann die Feldnamen wie zum Install ID, Serial No, usw. in die Datenfelder eingetragen, wodurch die Zuordnung der Felder der Tabelle TF zu den Labeln der Tabelle TL erfolgt.
  • Die Methoden SetId und SetVar sind in der Unterklasse CLabelData enthalten.
  • Mit der Methode Set der Subklasse CFieldData wird die Tabelle TF zeilenweise beschrieben.
  • Dieses Sequenzdiagramm zeigt schematisch, wie durch Aufrufen der Methode Init der speziellen Klasse W22 die Methoden der Subklassen aufgerufen und zur Ausführung gebracht werden. Mit der Methode Init werden die zum Auslesen eines bestimmten Bandtypes notwendigen Parameter in die entsprechenden Variablen geschrieben, die die Tabellen TS, TL und TF darstellen.
  • In 12a ist ein Sequenzdiagramm gezeigt, das eine Struktur eines Computerprogrammes in Ausschnitten zeigt, das dem Verfahren nach den 1 und 2 entspricht. Bei diesem Computerprogramm werden Methoden der speziellen Klasse W22 (CLblANSI) und der allgemeinen Klasse W12 (CLabel) aufgerufen. Des Weiteren werden in diesem Programmabschnitt Methoden der Subklassen W12a (CLabelSequence) und W12b (CLabelData) aufgerufen. Da dieser Aufruf von den Methoden der speziellen Klasse W22 bzw. der allgemeinen Klasse W12 erfolgt, ist dies in den Sequenzdiagrammen durch entsprechende Pfeile dargestellt, die auf die jeweilige Sequenz der Subklasse zeigen.
  • Dieses Programm beginnt mit der Methode CheckType (SEQ2), die dem Schritt S1 aus 1 entspricht. Mit dieser Methode wird ein ausgelesener String überprüft, ob er ein Label ist und wenn dies der Fall sein sollte, welchen Label er darstellt. Mit dieser Sequenz wird eine weitere Sequenz SEQ3 gestartet, die den Schritten S3 und S4 entspricht, mit welchen geprüft wird, ob der String ein ASCII-Code ist, und wenn dies nicht der Fall ist, wird der ASCII-Code übersetzt. Danach wird von der Sequenz SEQ2 die Sequenz SEQ4 aufgerufen, die dem Schritt S5 entspricht und die auf Methoden der speziellen Klasse W12a über eine weitere Sequenz SEQ5 zugreift. Hierbei bedeutet nRc die Variable „n return code in welche als Rückgabewert ein logischer Wert eingetragen wird, je nach dem, ob das Label identifiziert worden ist oder nicht. Weiterhin werden Variable nData und nCurrent zur Steuerung des Programmes verwendet.
  • Die Sequenz SEQ4 ruft eine weitere Sequenz SEQ6 auf, mit welcher abgefragt wird, ob der Label identifiziert worden ist, wobei dieses programmtechnisch durch eine negative Abfrage, d. h. ob der Label nicht identifiziert worden ist, realisiert ist. Dies entspricht dem Schritt S17. Die Sequenz SEQ6 ruft wiederum weitere Sequenzen SEQ7 und diese weitere Sequenzen bzw. Methoden SEQ8, SEQ9 und SEQ10 auf, die zum Teil Methoden der Subklasse W12b und W12a aufrufen. Diese Sequenzen entsprechen den Schritten S19 (SEQ6), S34 (SEQ7), S35 und S36 (SEQ8), S32 und S38 (SEQ9). Bei der Sequenz SEQ9 wird die Variable nRc mit dem Wert –1 belegt, was einem Fehler entspricht, wenn in der vorgeschalteten Abfrage festgestellt wird, ob der aktuelle Label vom Typ „niemals” ist.
  • Die Abfrage in der Sequenz SEQ10 überprüft, ob ein Bereich vorliegt und wenn dies der Fall ist, wird die Variable nRc auf Null gesetzt, das bedeutet, dass kein Fehler vorliegt. Das Sequenzdiagramm der 12b stellt eine Fortsetzung zu dem Sequenzdiagramm aus 12a dar, weshalb die drei Sequenzen SEQ2, SEQ4 und SEQ6 weitergeführt werden und daraus neue Sequenzen SEQ11 bis SEQ21 aufgerufen werden. Dieser Programmabschnitt umfasst den Programmablauf vom Schritt S34 bis zum Schritt S47 und von dort zurück zu dem Verfahren nach 1 mit den Schritten S10 bis S15. Auch hierbei wird von den Methoden der speziellen Klasse W22 und der allgemeinen Klasse W12 Methoden der Subklassen aufgerufen und entsprechende Sequenzen gestartet.
  • Durch die Struktur mit speziellen Klasse und allgemeinen Klassen ist es möglich, das Programm einfach und schnell auf einen weiteren Datenbandtyp zu adaptieren, indem lediglich eine neue spezielle Klasse eingefügt wird, in der die Methoden enthalten sind, die speziell an den Datenbandtyp anzupassen sind und die entsprechenden Parameter enthalten. Durch das Vererben der speziellen Klassen auf allgemeine Klassen wird der Programmieraufwand sehr gering gehalten. Die erfindungsgemäße Parametrisierung erlaubt somit nicht nur das Verwenden eines Programmes für mehrere Datenbandtypen, sondern erlaubt in Kombination mit dieser Programmstruktur auch eine sehr schnelle und einfache Anpassung dieses Programmes an andere Datenbandtypen. Grundsätzlich ist es auch möglich, mit dem erfindungsgemäßen Verfahren nicht nur Datenbänder, sondern auch andere Datenträger oder andere Inputströme auszulesen.
  • In 13 ist ein Hochleistungsdrucksystem 1 gezeigt, bei welchem verschiedene System-Komponenten über ein Datennetzwerk 2, welches ein lokales Netz (Local Area Network, LAN) oder auch ein größeres Netzwerk (Wide Area Network, WAN) sein kann. An dem Netzwerk 2 hängt mindestens ein Client-Terminal 3, auf welchen Druckaufträge erzeugt werden können. Das Terminal 3 ist ein an sich bekannter Computer (z. B. Personal Computer PC) mit angeschlossenem Bildschirm 3a.
  • Die Druckaufträge können wahlweise auch auf einem Hauptcomputer (Main Frame) 4 erzeugt oder zumindest Daten von dem Main Frame 4 in den Druckauftrag eingefügt werden. Der Main Frame 4 des Rechenzentrums wird über eine geeignete Betriebssystem-Steuerung wie MVS, BS2000 oder VSE gesteuert. Am Main Frame 4 können Steuerungsfunktionen und Anzeigen über den daran angeschlossenen Bildschirm 4a erfolgen. An den Hauptcomputer 4 (Main Frame) ist außerdem ein Bandlesegerät 5 sowie ein erster Hochleistungsdrucker 6 direkt angeschlossen.
  • Am Datennetzwerk 2 sind außerdem ein zweiter Drucker 7, ein Druckserver 8 sowie ein Archivserver 9 angeschlossen. Der Druckserver 8 wiederum ist mit einem zweiten Bandlesegerät 10 sowie einem Bildschirm 11 verbunden. Zusätzlich zur Verbindung 11 zwischen dem Druckserver 8 und dem Haupt-Datennetzwerk 2 ist der Druckserver 8 über die Verbindung 12 mit einem zweiten, lokalen Netzwerk 15 verbunden, an dem weitere Drucker 13, 14 angeschlossen sind. Der Druckserver 8 sowie der Drucker 14 können optional mit einer Anlage zur Produktion von Archivspeichern (CD-ROM) 16 verbunden werden. Die Archivanlage 16 hängt jedoch hauptsächlich am Archivserver 9. Zusätzliche Bildschirme 9a, 16a und 14a sind mit den jeweiligen Geräten 9, 16 und 14 verbunden.
  • Die Bandleser 1, 5 sind prozessgesteuerte Geräte, die von einem Computerprogramm gemäß 9 gesteuert werden. Dieses Computerprogramm ist auf einer Festplatte oder in einem Halbleiterspeicher in dem Bandleser abgespeichert und steuert die Funktionen des Bandlesers mittels einer eine CPU beinhaltende Prozesssteuerung.
  • Die Bandleser 1, 5 entsprechen der in 1 gezeigten Lesevorrichtung.
  • Die Erfindung kann folgendermaßen kurz zusammengefasst werden:
    Die Erfindung betrifft ein Verfahren zum Lesen von auf einem Datenband gespeicherter Daten mittels einer Lesevorrichtung.
  • Die Erfindung zeichnet sich dadurch aus, dass die Daten in Abhängigkeit von Parametern, die das Format des jeweiligen Datenbandtyps beschreiben, ausgelesen und auf ihre Vollständigkeit und Korrektheit überprüft werden.
  • Hierdurch ist es möglich, unterschiedliche Typen von Datenbändern mit einem einzigen Verfahren zu lesen. Bezugszeichen:
    1 Hochleistungsdrucksystem
    2 Datennetzwerk
    3 Client-Terminal
    3a Bildschirm
    4 Hauptcomputer
    5 Bandlesegerät
    6 Hochleistungsdrucker
    7 Drucker
    8 Druckserver
    9 Archivserver
    9a Bildschirm
    10 Bandlesegerät
    11 Bildschirm
    12 Verbindung
    13 Drucker
    14 Drucker
    14a Bildschirm
    15 Netzwerk
    16 Archivanlage
    16a Bildschirm
    17 Datenband
    18 Lesevorrichtung
    19 Taste
    20 Steuereinrichtung
    Verfahrensschritte
    S1 Anfang
    S2 Eingabe des Bandtyps und Auslesen der Parameter
    S3 Abfrage: Ist Labelcode ASCI?
    S4 Umsetzen des Labelcodes in ASCI
    S5 Identifiziere Label
    S6 Abfrage: Ist Label identifiziert?
    S7 FEHLER!!!
    S8 Ende
    S9 Auslesen der Felder
    S10 Abfrage: Bandende?
    S11 Bandende-Funktion
    S12 Dateiende?
    S13 Dateiende-Funktion
    S14 Abfrage: Dateianfang?
    S15 Dateianfangs-Funktion
    S16 Anfang
    S17 Abfrage: Ist das Label identifiziert?
    S18 Ende
    S19 Vergleiche ausgelesene Label mit Referenzlabel
    S20 Anfang
    S21 Abfrage: Länge der Label-ID = 0?
    S22 Abfrage: Länge des Labels gleich Länge des Referenzlabels?
    S23 Label ist nicht Referenzlabel
    S24 Ende
    S25 Abfrage: Ist Label-ID gleich Label-ID des Referenzabels?
    S26 Abfrage: Ist das Label erlaubt?
    S27 Abfrage: Ist die Länge des Labels gleich der Länge des Referenzlabels?
    S28 Hat das Label einen Bereich?
    S29 Label ist Referenzlabel
    S30 Abfrage: Ist der Bereich ein alphanumerischer Bereich?
    S31 Abfrage: Liegt ein alphanumerisches Zeichen vor?
    S32 FEHLER!!!
    S33 Abfrage: Liegt die erwartete Nummer vor?
    S34 Abfrage: Wurde das Label gefunden?
    S35 Abfrage: Ist das Label erlaubt und liegt kein Bereich vor oder ist das Label nicht erlaubt und hat es einen Bereich?
    S36 Setze Zeiger auf nächsten gültigen Label in der Sequenz und setze ggfs. Flag-Sequenzwechsel.
    S37 Abfrage: Ist das Label erlaubt?
    S38 Kein zulässiges Label gefunden
    S39 Abfrage: Fehler?
    S40 FEHLER!!!
    S41 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ nicht gesetzt und ist der ausgelesene Bereich kein Datensegment und ist das Label vom Typ „optional” oder „niemals” ?
    S42 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ gesetzt und ist das Label vom Typ „immer”?
    S43 Setze Zeiger auf Label einer alternativen Sequenz und setze Flag-Alternativ.
    S44 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ nicht gesetzt und ist der ausgelesene Bereich kein Datensegment und ist das Label vom Typ „immer”, oder ist, das Flag-Alternativ gesetzt und ist der ausgelesene Bereich kein Datensegment und ist das Label vom Typ „immer”.
    S45 FEHLER!!!
    S46 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ nicht gesetzt und ist der ausgelesene Bereich ein Datensegment, oder ist das Flag-Alternativ gesetzt und ist der ausgelesene Bereich ein Datensegment.
    S47 FEHLER!!!
    S48 Anfang
    S49 Abfrage: Letzte Feldvariable gelesen?
    S50 Ende
    S51 Kopiere Feldinhalt
    S52 Abfrage: Ist der Feldinhalt numerisch?
    S53 Konvertiere Zeichen in numerischen Wert
    S54 Nächstes Feld

Claims (11)

  1. Verfahren zum Lesen von auf einem Datenband gespeicherter Daten mittels einer Lesevorrichtung, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und die Formatdaten Label aufweisen, mit welchen das Format der Nutzdaten definiert ist, umfassend folgende Schritte: – Eingeben des Datenbandtyps in die Lesevorrichtung, – Auslesen von vorab hinterlegten Parametern, die die Struktur der Label beschreiben, wobei jeder Satz Parameter eine Tabelle aufweist, in der Label-IDs des jeweiligen Bandtyps gespeichert sind, und durch die Struktur der Tabelle die Reihenfolgen, mit welcher die Label auf dem Band aufgezeichnet sind, definiert ist, wobei die Parameter in Abhängigkeit des eingegeben Datenbandtyps ausgelesen werden, – Identifizieren und Auslesen der Label mittels der die Label beschreibenden Parameter, – Auslesen der Nutzdaten mittels der in den Label enthaltenen Angaben, und – Ausgeben der Nutzdaten, wobei die Parameter Typbezeichnungen umfassen und jedem Label eine Typbezeichnung zugeordnet ist, und eine Typbezeichnung („immer”) verwendet wird, die angibt, dass das entsprechende Label immer in einer Sequenz von Labeln enthalten sein muss, eine Typbezeichnung („optional”) verwendet wird, die angibt, dass das entsprechende Label in einer Sequenz von Labeln enthalten sein kann, und eine Typbezeichnung verwendet wird, die angibt, dass das entsprechende Label niemals in einer Sequenz von Labeln enthalten sein darf, und dass beim Identifizieren und Auslesen der Label diese auf ihre Korrektheit überprüft werden und beim Feststellen eines Fehlers dieser ausgegeben wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für jeden lesbaren Bandtyp jeweils ein Satz Parameter abgespeichert ist, wobei jeder Satz Parameter die Label eines Bandtyps beschreibt.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass jeder Satz Parameter eine Tabelle aufweist, in der das Format aller Label des jeweiligen Bandtyps definiert ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jeder Satz Parameter eine Tabelle aufweist, in der in den Label enthaltene Datenfelder definiert sind.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Verfahren mittels eines Computerprogrammes ausgeführt wird, das in allgemeine Klassen (W10, W12, W13) und spezielle Klassen (W14–W18, W22–W32, W33–W42) strukturiert ist, wobei die Methoden der speziellen Klassen den allgemeinen Klassen vererbt werden, und für jeden Datenbandtyp mindestens eine spezielle Klasse (W22–W32) vorgesehen ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass in einer der Methoden der speziellen Klasse die Parameter des jeweiligen Bandtypes enthalten sind.
  7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass das Computerprogramm mittels Interface-Klassen in eine Eingabeklasse (W5), Bearbeitungsklasse (W7) und eine Ausgabeklasse (W9) strukturiert sind, wobei die Eingabeklasse (W5) und die Bearbeitungsklasse (W7) bzw. die Bearbeitungsklasse (W7) und die Ausgabeklasse (W9) jeweils über eine Pufferklasse (W6, W8) gekoppelt werden.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Pufferklassen (W6, W8) Pufferabschnitte, die mit jeweils einem Flag versehen sind aufweisen, mit welchen Schreib- und Lesevorgänge der entsprechenden Pufferabschnitte steuerbar sind, wobei die Flags von Puffer-Dienstprogrammen gesetzt werden.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass mit dem Computerprogramm eine Steuereinrichtung einer Lesevorrichtung zum Lesen von Datenbändern gesteuert wird.
  10. Lesevorrichtung zum Lesen von auf einem Datenband (17) gespeicherter Daten, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und die Formatdaten Label aufweisen, mit welchen das Format der Nutzdaten definiert ist, wobei die Lesevorrichtung (18) eine Steuereinrichtung (20) umfasst, die derart ausgebildet ist, dass nach dem Einlegen eines Datenbandes und Eingeben des Datenbandtyps in die Lesevorrichtung, vorab hinterlegte Parameter in Abhängigkeit des eingegeben Datenbandtyps ausgelesen werden, die Label mittels der Parameter identifiziert und ausgelesen werden, die Nutzdaten mittels der in den Label enthaltenen Angaben ausgelesen und ausgegeben werden, wobei das Lesen der Daten gemäß dem Verfahren nach einem der Ansprüche 1 bis 4 erfolgt.
  11. Lesevorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass die Steuereinrichtung (20) eine CPU und eine Speichereinrichtung aufweist und in der Speichereinrichtung ein nach einem der Ansprüche 5 bis 9 ausgebildetes Computerprogramm zum Steuern der Lesevorrichtung gespeichert ist.
DE2001123377 2001-05-14 2001-05-14 Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung Expired - Fee Related DE10123377B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001123377 DE10123377B4 (de) 2001-05-14 2001-05-14 Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001123377 DE10123377B4 (de) 2001-05-14 2001-05-14 Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung

Publications (2)

Publication Number Publication Date
DE10123377A1 DE10123377A1 (de) 2002-11-28
DE10123377B4 true DE10123377B4 (de) 2011-07-14

Family

ID=7684718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001123377 Expired - Fee Related DE10123377B4 (de) 2001-05-14 2001-05-14 Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung

Country Status (1)

Country Link
DE (1) DE10123377B4 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327305A (en) * 1992-08-14 1994-07-05 Conner Peripherals, Inc. Tape format detection system
GB2285525A (en) * 1994-01-11 1995-07-12 Dascom Software Dev Services L A tape database control process
US5819309A (en) * 1996-02-09 1998-10-06 Overland Data, Inc. Automated tape cartridge library with accelerated calibration
US6154852A (en) * 1998-06-10 2000-11-28 International Business Machines Corporation Method and apparatus for data backup and recovery
DE19957594A1 (de) * 1999-11-30 2001-06-07 Oce Printing Systems Gmbh Verfahren zum Synchronisieren von Programmabschnitten eines Computerprogramms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327305A (en) * 1992-08-14 1994-07-05 Conner Peripherals, Inc. Tape format detection system
GB2285525A (en) * 1994-01-11 1995-07-12 Dascom Software Dev Services L A tape database control process
US5819309A (en) * 1996-02-09 1998-10-06 Overland Data, Inc. Automated tape cartridge library with accelerated calibration
US6154852A (en) * 1998-06-10 2000-11-28 International Business Machines Corporation Method and apparatus for data backup and recovery
DE19957594A1 (de) * 1999-11-30 2001-06-07 Oce Printing Systems Gmbh Verfahren zum Synchronisieren von Programmabschnitten eines Computerprogramms

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US 6,154,852 A AS/400, Tape and Diskette Device Programing. IBM 1999
Xerox: "Tayse Formats Manual", Rank Xerox, Pub. 700P91799, Feb. 1991, Vers. 3.5 *

Also Published As

Publication number Publication date
DE10123377A1 (de) 2002-11-28

Similar Documents

Publication Publication Date Title
DE4334524C2 (de) Dokumentverarbeitungsvorrichtung
DE102005008520B4 (de) Verfahren, Computerprogramm-Produkt und Drucksystem zum Sortieren von Druckjobs in eienm solchen Drucksystem
DE19852296B4 (de) Verfahren, Vorrichtung und System zum Vereinigen von Bild- und Formulardaten (Formularüberziehen) im Zusammenhang mit Computern
EP1579309B1 (de) Verfahren, computerprogrammprodukt und vorrichtung zum verarbeiten eines dokumentendatenstroms eines eingangsformates zu einem ausgangsformat
DE60306674T2 (de) Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
DE3872020T2 (de) Informationsaufzeichnungsverfahren fuer aufgezeichnete daten und register in einer anzahl von bloecken, welche unterteilte aufzeichnungsflaechen enthalten.
DE3688191T2 (de) Editor für virtuelle Maschinen.
DE3808165A1 (de) Formularerstellungs- und informationsverarbeitungseinrichtung
DE19741358A1 (de) Verallgemeinertes Verfahren zum Trennen von charakteristischen Multimediamerkmalen von einem Multimediatitel unter Verwendung einer Multimedia-Softwaremaschine
DE19706512A1 (de) Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm
EP0424803A2 (de) Verfahren zur mindestens teilweisen Umsetzung von Bilddaten in Text mit Vorbereitung für nachfolgende Speicherung oder Weiterverarbeitung
DE19615177C2 (de) Verfahren zum Ändern einer Funktion eines Druckertreibers
DE2717976A1 (de) Computer mit einer anordnung zur veraenderung der arbeitsumgebung des computers
DE2801610A1 (de) Verfahren zum definieren von anfangswerten fuer die textverarbeitung
EP0762334A1 (de) Verfahren zum Erzeugen eines Druckbildes, welches in einer Frankiermaschine auf einen Träger gedruckt wird
DE2906883A1 (de) Verfahren und anordnung zum feststellen von tabulatoreinstellungen und indexparametern fuer eine wiedergabe in einem textverarbeitungssystem
DE10158419A1 (de) Verfahren zum digitalen Drucken von zusammengesetzten Dokumenten
DE10252797B4 (de) Verfahren und System zum Erstellen von Dokumentenvorlagen mit Ressourcenverwaltung
DE60019996T2 (de) System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner
EP0801388B1 (de) Editieranordnung
DE10123377B4 (de) Verfahren zum Lesen von auf einem Datenband gespeicherter Daten und Lesevorrichtung
DE10325843B4 (de) Verfahren, Drucksystem, Computer und Computerprogramm zum Verwalten von Resourcen zur Verwendung in einem resourcenbasierten Dokumentendatenstrom
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
EP1235123A2 (de) Addon-Mechanismus für ein Steuerungssystem basierend auf einem Typdatenfeld
DE69925108T2 (de) Ableitung einer objektklasse durch vererbung, instanzierung oder klonierung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: LANKREIJER, HERMAN, 85457 WUERTH, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20111015

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20131203