DE2809341A1 - System zum kontrollieren der gueltigkeit einer durch eine maschine von einem beleg abgelesenen codegruppe - Google Patents

System zum kontrollieren der gueltigkeit einer durch eine maschine von einem beleg abgelesenen codegruppe

Info

Publication number
DE2809341A1
DE2809341A1 DE19782809341 DE2809341A DE2809341A1 DE 2809341 A1 DE2809341 A1 DE 2809341A1 DE 19782809341 DE19782809341 DE 19782809341 DE 2809341 A DE2809341 A DE 2809341A DE 2809341 A1 DE2809341 A1 DE 2809341A1
Authority
DE
Germany
Prior art keywords
code group
remainder
module
read
zero
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.)
Granted
Application number
DE19782809341
Other languages
English (en)
Other versions
DE2809341C2 (de
Inventor
Jacques Sery
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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of DE2809341A1 publication Critical patent/DE2809341A1/de
Application granted granted Critical
Publication of DE2809341C2 publication Critical patent/DE2809341C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/104Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07DHANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
    • G07D7/00Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
    • G07D7/004Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency using digital security elements, e.g. information coded on a magnetic thread or strip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07DHANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
    • G07D7/00Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
    • G07D7/004Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency using digital security elements, e.g. information coded on a magnetic thread or strip
    • G07D7/0047Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency using digital security elements, e.g. information coded on a magnetic thread or strip using checkcodes, e.g. coded numbers derived from serial number and denomination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Character Discrimination (AREA)
  • Error Detection And Correction (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

Patentanwälte—β ~
Dipl.-Ing Dipl -Chem. Dipl -Ing.
E. Prinz - Dr. G. Hauser - G. Leiser2 8 0 9 3 41
Er nsberger strassR 19
8 München 60
3. März 1978
COMPAG-ITIE INTERNATIONALE POUR L1INIORMATIQUE CII - HONEYWELL BUiL
94, Avenue Gambetta
75020 PARIS / Frankreich.
Unser Zeichen: C 3166
System zum Kontrollieren der Gültigkeit einer durch eine Maschine von einem Beleg abgelesenen Codegruppe
Die Erfindung betrifft ein System zum Kontrollieren der Gültigkeit einer durch eine Maschine - beispielsweise ein Peripheriegerät einer Datenverarbeitungsanlage - gelesenen Codegruppe, die auf einem Beleg - beispielsweise einem eine gedruckte Schriftzeile aus magnetischen Zeichen tragenden Scheck - visuell lesbar angebracht ist.
Im Bereich der zitierten Anwendungsbeispiele, auf die die Erfindung keineswegs beschränkt ist, hat die Entwicklung der Bankoperatioxien eine beträchtliche Zunahme der Anzahl
3ß/0983
2 β ί.ϊ ύ 3 A 1
von in Umlauf befindlichen Schecks sowie eine Zunahme der Buchungsvorgänge, wie der Fortführung der Kundendateien, mit sich gebracht. Es ist daher erforderlich geworden, eine gewisse Anzahl von Scheckverarbeitungsoperationen zu automatisieren, wie das Sortieren, die Prüfung der Bankcodegruppe und der Kundencodegruppe, das Buchen der Belastung, das Berechnen und das Registrieren des entsprechenden Guthabens in der Datei jedes betreffenden Kunden.
Diese Automatisierung ist durch die Verwendung von Schecks ermöglicht worden, welche außer der üblichen Beschriftung eine magnetische Beschriftung tragen, die aus sowohl durch den Menschen als auch durch die Maschine lesbaren Zeichen besteht, wie beispielsweise magnetische Zeichen im 7-Strich-Code, die abgekürzt auch als CMC-7-Zeichen bezeichnet werden (amtliche französische Norm NFKlI, Januar 1968). Sie erscheinen unten auf dem Scheck in Form eines Beschriftungs-Streifens,der die gesamte Länge des Schecks einnimmt und aus drei Teilen besteht, welche Codegruppen tragen, die sich auf den Umlauf des Schecks bzw. die Identifizierung des Bezogenen bzw. den Betrag des Schecks beziehen.
Aufgrund des automatischen Lesens der Codegruppen, die sich in diesem Beschriftungsstreifen befinden, führen daher die Datenverarbeitungssysteme eine gewisse Anzahl von Operationen aus, zu denen insbesondere die Sortierung der Schecks in Abhängigkeit von den bezogenen Instituten, die Belastung des bezeichneten Kontos mit dem angegebenen Betrag sowie die
609836/0883 ___
ORIGINAL INSPECTED
Führung der Bankbücher und der Kundenkonten gehören. Es ist klar, daß die Genauigkeit von solchen Operationen, die gewährleistet werden muß, hauptsächlich von dem korrekten Lesen der sie bestimmenden Codegruppen abhängig ist und daß es daher erforderlich ist, jede gelesene Codegruppe zu überprüfen, um jede Gefahr eines Fehlers auszuschalten und um sie auf diese Weise für gültig zu erklären, bevor sie durch das Verarbeitungssystem gebucht wird.
Zu diesem Zweck ist es bekannt, jeder Codegruppe einen Prüfschlüssel zuzuordnen, der in eindeutiger Bezie hung zu der Art, dem Wert und der Relativanordnung der die Codegruppe bildenden Elemente steht. Dieser Schlüssel kann explizit sein, d. h. aus einer in Abhängigkeit von der Zusammensetzung irgendeiner Codegruppe berechneten Ziffer oder Zahl bestehen und ihr angefügt sein. Dieser Schlüssel könnte auch implizit sein, wobei alle Codegruppen so aufgebaut sind, daß sie ein bestimmtes Gesetz erfüllen, und wobei die Summe oder das Produkt ihrer Bestandteile gleich einer vorbestimmten Zahl oder durch diese teilbar ist.
Ein Typ von Prüfschlüssel, der besonders bequem und gebräuchlich ist, wird im englischen als "transposition check digit" (Austauschprüfziffer) oder, abgekürzt, als TCD-Ziffer "bezeichnet. Diese Prüfziffer wird dadurch erhalten, daß der Zahlenwert jedes Elementes der Codegruppe mit einem Koeffizienten multipliziert wird, der von der relativen Position des "betreffenden Elements in der Codegruppe abhängt, daß die Summe der durch diese Multiplikationen
'"·: ■: ::*'·;. ·.--) . - ν-.-.;,- .,8 09836/0883 ORIGINAL INSPECTED
,/803341
erhaltenen Produkte gebildet wird, daß diese Summe durch eine vorbestitnmte Zahl, "Modul" genannt, dividiert wird, und daß das Komplement des "bei der Division erhaltenen Restes zu dem Modul gebildet wird; dieses Komplement bildet die TCD-Ziffer, die als Prüf schlüssel verwendet wird.
Deshalb genügt es bei dem Lesen einer beliebigen Codegruppe, den Wert jedes seiner Elemente mit dem erforderlichen Koeffizienten zu multiplizieren, die erhaltenen Resultate und die TCD-Ziffer zu addieren und ihre Summe durch den Modul zu dividieren: wenn das Lesen der Codegruppe korrekt ist, ist der Rest dieser Division gleich null und die Codegruppe kann für gültig erklärt werden.
Diese relativ komplexe Prüfprozedur erfordert jedoch eine nicht vernachlässigbare Verarbeitungszeit, die zu der hinzukommt, die für die Sortieroperationen erforderlich ist, und im gleichen Maß die Zeit verringert, über die die Zentraleinheit des Systems verfügt, um die eigentliche Datenverarbeitung auszuführen. Die Zeit, die zum Prüfen der Codegruppen und zum Verarbeiten der Daten zwischen dem Zeitpunkt, in welchem die Daten in den Speicher überführt werden, und dem Zeitpunkt, in welchem der Befehl für die Auswahl des Einsortierfaches kommt, verfügbar ist, beträgt in der Praxis nur 40 ms.
Um diesen Nachteil zu beseitigen und um dabei die Vorteile zu bewahren, die sich durch die Prüfung der Codegruppen durch die Verwendung der TCD-Ziffer ergeben, hat die Anmelderin eine neue Organisation des Verarbeitungssystems geschaffen,
:=;iQ816/0883 ORIGINAL INSPECTED
2 B ü 'J 3 A 1
das Gegenstand der älteren deutschen Patentanmeldung P 27 44 133.4 ist. Das System zur Verarbeitung von aufgezeichneten Daten, das in dieser Anmeldung vorgeschlagen ist, unterscheidet sich von älteren ähnlichen Vorschlägen vor allem dahingehend, daß die Operationen des Prüfens der Codegruppen, der Steuerung der Einordnung der Belege und der Überführung der zu verarbeitenden Daten nach ihrer Prüfung der Peripheriegerätesteuereinheit und nicht mehr der Zentraleinheit zugewiesen sind, die daher von allen diesen Aufgaben befreit ist und sich ausschließlich der Verarbeitung der Daten widmen kann, ohne Echtzeitbeschränkung, die mit dem Betrieb des Systems verbunden ist.
Diese vorteilhafte Organisation des Systems würde von vornherein verlangen, daß die Steuereinheit mit ausreichend aufwendigen Verarbeitungseinrichtungen ausgerüstet ist, um in einer vernünftigen Zeit die komplexen Berechnungen auszuführen, welche die Verwendung eines Codegruppenprüfschlüsseis des TCD-Typs verlangt.
Ziel der Erfindung ist es, diese Notwendigkeit durch die kombinierte Verwendung von Speichereinrichtungen und von elementaren Verarbeitungseinrichtungen zu beseitigen, welche gestatten, die erforderlichen Berechnungen nach einem sehr einfachen Verfahren auszuführen, das in einer sehr geringen Zeit, die in der Praxis in der Größenordnung von 500 ,us liegt, durchführbar ist. Dieses Ergebnis wird, wie dargelegt werden wird, durch die Speicherung von Informationen über eine "Vorverarbeitung der Daten" und durch die
fi09836/0883 ORIGINAL
Verwendung eines iterativen Verfahrens, das von den so gespeicherten Informationen Gebrauch macht, erzielt.
Dieses System zum Kontrollieren der Gültigkeit einer durch eine Maschine von einem Beleg abgelesenen Codegruppe und insbesondere einer alphanumerischen Codegruppe von bestimmter maximaler Länge, weLcher ein Prüfschlüssel zugeordnet ist, der gleich dem Komplement einer bestimmten Zahl oder des Moduls des Restes der Division der Summe der Zahlenwerte der Elemente der Codegruppe, wobei jeder Zahlenwert mit einem von der Relativposition des betreffenden Elements in der Codegruppe abhängigen Koeffizienten multipliziert ist, durch diesen Modul ist, ist gemäß der Erfindung dadurch gekennzeichnet, daß es vor allem enthält:
einerseits Speichereinrichtungen, die für jeden Modul und/ oder jede Kombination von Koeffizienten eine adressierbare Tabelle mit doppeltem Eingang enthalten, wobei jede Adresse, die einem möglichen Zahlenwert und einer möglichen Relativposition eines Elements der Codegruppe entspricht, den Rest der Division des Zahlenwertes, welcher mit dem der Position zugeordneten Koeffizienten multipliziert ist, durch den Modul enthält, und
andererseits elementare Verarbeitungseinrichtungen, mittels welchen in iterativer Weise jedes Element der Codegruppe und der an der entsprechenden Adresse der Tabelle enthaltene Rest gelesen werden, dieser Rest zu dem vorhergehenden Rest addiert und die Summe durch den Modul dividiert wird, um einen neuen Rest zu erhalten, wobei dieser Prozeß wiederholt wird,
809836/0833
ORIGINAL INSPECTED
-Ii-
indem der Prüfschlüssel als Anfangsrest genommen wird, bis die Codegruppe abgearbeitet ist, um einen Endrest zu erzeugen, der gleich null ist, wenn das Lesen der Codegruppe korrekt ist.
Es ist zu erkennen, daß die Operationen, die durch die Verarbeitungseinrichtungen auszuführen sind, an Zahlen ausgeführt werden, die nicht hoch sind, wobei der Prüfschlüssel, wie jeder Rest, definitionsgemäß um wenigstens eins kleiner ist als der Modul, so daß die größte Zwischensumme, die zu berücksichtigen ist, kleiner als das doppelte dieses Moduls ist.
Aufgrund dieser Tatsache ist die oben genannte Divisionsoperation nur auszuführen, wenn die Zwischensumme, die durch Addition des gelesenen Restes zu dem vorhergehenden Rest oder zu dem Schlüssel erhalten wird, größer oder gleich dem Modul ist, und reduziert sich dann auf eine einfache Subtraktion dieses Moduls.
Außerdem, wenn das gelesene Element der Codegruppe den Wert null hat, ist es selbstverständlich überflüssig, zur Befragung der Tabelle und zu den Verarbeitungsoperationen überzugehen, da der vorhergehende Rest nicht modifiziert wird, und das System kann direkt zu dem Lesen des nächsten Elements der Codegruppe übergehen.
Infolgedessen reduzieren sich die eigentlichen Verarbeitungseinrichtungen tatsächlich auf ein einfaches Additions-Subtraktionsregister, welchem erste Vergleichseinrichtungen zu-
ORIGINAL INSPECTED
ί·: Π 9R36/0883
28U93U
geordnet sind, die mit den vorgenannten Leseeinrichtungen verbunden sind, um festzustellen, ob der Wert des gelesenen Elements der Codegruppe null ist, und zweite Vergleichseinrichtungen, die mit diesem Register verbunden sind, um festzustellen, ob sein Inhalt gleich oder größer als der Modul oder aber am Ende des Lesens null ist.
Dieser Einfachheit der Struktur der Verarbeitungseinrichtungen entspricht die der Organisation der Speichereinrichtungen :
in dem gebräuchlichsten Fall des Lesens von aus Dezimalziffern gebildeten numerischen Codegruppen und von einigen Markierungssymbolen kann die Länge jeder Tabelle mit doppeltem Eingang auf 10 χ 16 Nutzadressen begrenzt werden, um die Identifizierung und die Gültigerklärung der Dezimalcodegruppen aus 16 Elementen einschließlich des Prüfschlüsseis zu gestatten. In der Praxis werden vorzugsweise Tabellen des herkömmlichen Formats mit 16 χ 16 = 256 Adressen benutzt.
Wenn jede Adresse einer solchen Tabelle die Speicherung einer Oktade, d. h. einer Binärcodegruppe mit 8 Positionen gestattet, ist der Maximalwert der Reste und daher des entsprechenden Moduls gleich 2 - 1 = 127, was eine große Auswahl an Modulen und/oder "Koeffizient/Position"-Kombinationen eröffnet.
Bei dem System nach der Erfindung werden somit sehr einfache Einrichtungen benutzt, die die Überprüfungen von komplizierten Codegruppen gestatten, und das System kann
£?Π9836/(1883
2 S U 9 J 4 1
daher problemlos in eine Peripheriegerätesteuereinheit integriert werden, die in Echtzeit arbeitet, um die Zentraleinheit von allen über die Datenverarbeitung hinausgehenden Aufgaben zu entlasten.
Mehrere Ausführungsbeispiele der Erfindung werden im folgenden anhand der beigefügten Tabellen und der beigefügten Zeichnung näher beschrieben. Es zeigen:
die Tabellen 1 bis 4 die Dezimalwerte der Reste, die
verschiedenen Prüfgesetzen entsprechen, und
die Figur das Teilablaufdiagramm des Ver
fahrens zum Lesen und Prüfen einer Codegruppe.
Wie erwähnt, besteht die herkömmliche Art und Weise des Erstellens eines Prüfschlüssels des Typs "transposition check digit" oder TCD darin, jeder Position einer Codegruppe von bestimmter maximaler Länge einen willkürlichen Koeffizienten zuzuordnen, den Zahlenwert des in dieser Position der Codegruppen befindlichen Elements mit diesem Koeffizienten zu multiplizieren, die so erhaltenen Produkte zu summieren, ihre Summe durch eine vorbestimmte Zahl, d.h. den Modul zu dividieren und das Komplement des Restes äieser Division zu dem Modul als Prüfschlüssel zu benutzen, der hinter der Codegruppe oder in irgendeiner anderen auffindbaren Position hinzugefügt wird.
&09836/0883
ORIGINAL INSPP
2800341
Wenn beim Lesen der so mit ihrem Prüfschlüssel versehenen Codegruppe dieselbe Folge von Operationen durchgeführt wird, in die auch der Prüfschlüssel einbezogen wird, dem der Koeffizient Eins zugeordnet wird, so erhält man schließlich den Rest Null, wenn die Codegruppe korrekt gelesen worden ist.
Aus den erwähnten Gründen ersetzt die Erfindung diese komplexe Folge von Prüfoperationen, welche die Verwendung von komplizierten Verarbeitungseinrichtungen verlangt, durch eine viel einfachere Prozedur, die vor allem die Befragung einer gespeicherten Tabelle von Teilresten einschließt:
Ein erstes Beispiel der Anfertigung und der Organisation einer solchen Tabelle wird unter Bezugnahme auf die TABELLE 1 beschrieben, die die Gültigerklärung von Dezimalcodegruppen mit 16 Positionen (0 bis 15) betrifft, welchen abwechselnd Koeffizienten 1 und 2, je nachdem, ob ihre Stelle in der Codegruppe geradzahlig oder ungeradzahlig ist, gemäß folgender Kombination zugeordnet werden:
S = XO + 2X1 + X3 + 2X4 + X5 + + X14 + 2X15
wobei X der Zahlenwert des Elements der Codegruppe ist, das sich in der angegebenen Position befindet, und wobei XO vereinbarungsgemäß der Prüfschlüssel (TCD) ist, wie beispielsweise R (S/M) = 0 für einen Modul M, der hier gleich 10 ist.
Jedes Fach der Tabelle stellt eine Position eines Speichers dar, die durch eine doppelte Adresse identifiziert ist,
«09836/0883
ORIGINAL INSPECTED
/ H U j 3 A I
welche die Stelle des Elements (0-15) und seinen Dezimalwert (0-9) enthält. Die Tabelle enthält infolgedessen 16 Zeilen und 10 Nutzspalten, wobei die 6 ergänzenden Spalten unterstreichen, daß in der Praxis von Speichern mit dem herkömmlichen Format mit 16 χ 16 = 256 Positionen Gebrauch gemacht wird, von denen jede eine Oktade und die letzte die Oktade FF, die das Ende markiert, empfängt.
Mit Ausnahme dieses letzten Falles ist jede in eine Speicherposition geladene Oktade gleich dem Binärwert der Dezimalzahl, die sich in dem entsprechenden Fach der TABELLE 1 befindet, welche ihrerseits gleich dem Rest der Division des Produkts aus dem betreffenden Zahlenwert eines Elements der Codegruppe und dem Koeffizienten 1 oder 2, der der geradzahligen oder ungeradzahligen Stelle dieses Elements zugeordnet ist, durch den Modul M - 10 ist.
So beträgt beispielsweise für das Fach, das zu der Spalte 7 (Wert) und zu der Zeile 1 (Stelle) gehört, diese Zahl 4 = R(7 χ 2/10).
Für die erste Spalte, die dem Zahlenwert null zugeordnet ist, wie für die unbenutzten Spalten, denen vereinbarungsgemäß derselbe Wert zugeordnet ist, sind die Teilreste offenbar null.
Das zweite Beispiel, das durch die TABELLE 2 veranschaulicht wird, entspricht der Linearkombination
S = XO + 2X1 + 3X2 + 4X3 + 5X4 + 6X5 + ... +10X9 + 11X10
#09836/0883
ORIGIMAL INSPECTED
2 R ü 9 3 A 1
wobei die Koeffizienten, die den aufeinanderfolgenden Stellen zugeordnet sind, in einer natürlichen oder arithmetischen Reihe liegen und wobei der Modul M gleich 11 ist, so daß alle Teilreste der Zeile 10 (Koeffizient 11) null sind.
Das dritte Beispiel, das durch die TABELLE 3 veranschaulicht wird, entspricht der Linearkombination
S = XO + 2X1 + 4X2 + 8X3 + ... + 512X9 ...
wobei die Koeffizienten, die den aufeinanderfolgenden Stellen zugeordnet sind, in einer geometrischen Reihe von zweiter Ordnung liegen und wobei der Modul M gleich 11 ist, so daß sich die Tabelle ab der zehnten Zeile mit dem Koeffizienten 1024 = 11 χ 93 + 1 wiederholt.
Das letzte Beispiel, das durch die TABELLE 4 veranschaulicht wird, entspricht der Linearkombination
S « XO + 101Xl + 102X2 + 103X3 + 104X4 + ... 10NXN
die den wahren Dezimalwert jedes Elements der Codegruppe für einen Modul M = 17 berücksichtigt, wobei selbstverständlich in diesem Fall XO das erste signifikante Element der von rechts nach links gelesenen Codegruppe ist und wobei alle Codegruppen derart gewählt sind, daß S ein ganzzahliges Vielfaches des Moduls M ist, so daß der Prüfschlüssel, der systematisch gleich null ist, weggelassen werden kann, weil sein Wert unveränderlich und implizit
809836/11883
2ÖÜ9341
bekannt ist.
Diese nicht als Einschränkung zu verstehenden Beispiele zeigen, daß sich die Verwendung von PrüfSchlussein des Typs TCD unter den angegebenen Bedingungen für mehrere Ausführungsvarianten und Definitionserweiterungen und infolgedessen für jeden besonderen Gebrauch eignet.
In dieser Hinsicht sei angemerkt, daß die Elemente der Codegruppe - wenigstens manche - Buchstaben oder andere Symbole sein könnten, denen ein konventioneller Zahlenwert zugeordnet ist, welcher gleich oder größer als 10 ist, um jede Verwechselung mit den Dezimalziffern zu vermeiden, wenn dafür Bedarf besteht.
Außerdem sei angemerkt, daß jeder Teilrest in der erforderlichen Position der Speichertabelle mit doppelter Adressierung nicht nur in Form einer Oktade aufgezeichnet werden kann, die der Umsetzung ihres Dezimalwertes in den Binärcode entspricht, sondern auch in Form einer Oktade des Typs DCB, die unabhängig zwei Dezimalziffern ausdrückt, oder durch jede andere Codegruppe, die mit den Kenndaten des benutzten Speichers und der zugeordneten Verarbeitungsschaltungen kompatibel ist. Zur Vereinfachung der letzteren bleibt jedoch die erste angegebene Lösung vorzuziehen, da alle arithmetischen Verarbeitungen dann in reinem Binärcode ausgeführt werden, mit Dezimalcodeumsetzung auf der Höhe der Eingabe/Ausgabe-Schnittstellen des Systems.
809836/0883 ORIGINAL
28Ü934 1
Schließlich sei angemerkt, daß in allen Fällen, die in Betracht kommen können, die Gesamtstruktur des Systems unverändert bleibt und daß die Art ihres Betriebes im wesentlichen immer dem in der Figur dargestellten Ablaufdiagramm entsprechen wird.
Dieses Ablaufdiagramm veranschaulicht die eigentliche Betriebsweise des Systems, unter Außerachtlassen der Folgeoperationen, die vor und hinter ihm ausgeführt werden, wie beispielsweise das Markieren oder Auffinden und das Lesen der Codegruppen, das Sortieren der Belege und die Auswertung der für gültig erklärten Daten.
Es wird daher am Anfang angenommen, daß die Codegruppe durch die Leseeinrichtungen markiert, gelesen,umgesetzt und gespeichert worden ist und daß ihre Elemente mit ihrem zugeordneten wirklichen oder konventionellen Zahlenwert entsprechend ihrer Stellen- oder Rangfolge zugänglich sind. Außerdem wird angenommen, daß der Modul und die zu benutzende Restetabelle darüberhinaus bekannt und in Speichereinrichtungen verfügbar sind.
Die Operation 1 besteht infolgedessen darin, ein bestimmtes Element der Codegruppe zu lesen, dann in 2 zu entscheiden, ob ihr ein Zahlenwert zugeordnet ist oder nicht, der berücksichtigt werden kann,beispielsweise für die Unterscheidung zwischen Ziffern und Buchstaben in einem alphanumerischen Code. Wenn das der Fall ist, wird in 3 geprüft, ob dieser Wert nicht null ist, bevor in 4 die doppelte Adresse der
B09Q36/0883
ORlGiNAL
2 H U J J A 1
betreffenden Position der Tabelle der Reste berechnet wird. Wenn diese Adresse aufgrund des Wertes und der Stelle des Elements der Codegruppe ermittelt worden ist, wird der entsprechende Rest in 5 gelesen und in 6 zu dem vorhergehenden Rest oder gegebenenfalls zu dem Prüfschlüssel am Anfang des Prozesses addiert. Die erhaltene Summe wird in 7 mit dem Modul verglichen und, wenn sie gleich oder größer ist, wird der Modul in 8 von ihr abgezogen. Nachdem das erfolgt ist, wird die Stelle in 9 inkrementiert (d. h. erhöht), um die Berücksichtigung des nächsten Elements der Codegruppe zu gestatten. Diese Inkrementierung erfolgt direkt am Schluß der Vergleiche 3 und 7, wenn der Zahlenwert des Elements der Codegruppe null ist bzw. wenn die Summe des im Speicher gelesenen Restes und des vorhergehenden Restes kleiner als der Modul ist.
Es wird dann in 10 geprüft, ob die so inkrementierte Stelle kleiner oder gleich fünfzehn bleibt (Stelle des letzten Elements einer gültigen Codegruppe), andernfalls wird das Lesen in 11' wegen Überlänge der gelesenen Codegruppe für ungültig erklärt. Wenn nicht, veranlaßt die Operation 11 die Verschiebung der gespeicherten Codegruppe um eine Position, damit ihr . Element mit der höheren Stelle berücksichtigt werden kann. Dieselbe Verschiebung erfolgt direkt am Schluß der Operation 2, wenn das gelesene Element keine Ziffer ist oder, allgemeiner, wenn ihm kein Zahlenwert zugeordnet ist, der berücksichtigt werden kann. Wenn die Auswertung der Codegruppe nicht abgeschlossen wird, verzweigt die Verzweigung 12 über den Befehl 13' und die Schleife I zurück zu dem Anfang des Prozesses, um ef-
P-09fi36/nß83 ORIGINAL INSPECTED
-ZO-
2 8093^1
fektiv das nächste Element der Codegruppe zu berücksichtigen, und der Zyklus wird wiederholt, bis die Codegruppe abgearbeitet ist.
Wenn die Verzweigung 12 feststellt, daß das letzte Element der Codegruppe berücksichtigt worden ist, entscheidet sie in 13 - in der Praxis durch einfachen Vergleich mit null ob der endgültige Rest korrekt ist oder nicht, und das Lesen dieser Codegruppe wird je nach Lage des Falles in 14 für gültig erklärt oder in 14' für ungültig erklärt.
809836/0883
/80934]
Tabelle
O 1 2 3 4 5 ti 7 B 9 Q O O O O O
O O 1 2 3 4 5 fa 7 B 9 O Q ΰ O O O
1 O 2 4 6 θ O 2 4 6 B O O O O α α
2 O 1 2 3 4 5 6 7 B 9 O O O O O η
3 O 2 4 6 θ O 2 4 6 3 O O O 0 O 0
4 O 1 2 3 4 5 6 7 B 9 O O O O α 0
S O 2 4 6 θ O 2 4 6 B O O O O O 0
6 O 1 2 3 4 5 6 7 B 9 O 0 O O O 0
7 O 2 4 6 B O 2 4 6 θ O O O O O 0
6 O 1 2 3 4 5 6 7 θ 9 O 0 O O O 0
9 0 2 4 6 θ O 2 4 6 β O 0 O O O 0
10 O 1 2 3 4 5 6 7 θ 9 O O O 0 0 0
11 O 2 4 6 θ O 2 4 6 B O O O O O 0
12 O 1 2 3 4 5 6 7 θ 9 O O O O O 0
13 O 2 4 6 θ O 2 4 6 B Q O O O O O
14 O 1 2 3 4 5 6 7 θ 9 O 0 O O O Q
15 0 2 4 6 θ O 2 4 6 B O O O O O FF
Tabelle
SO CO Ui
0 1 2 3 4 5 6 7 B 9 0 0 0 0 0 0
ϋ 0 1 2 3 4 5 6 7 θ 9 0 0 0 0 0 Q
1 0 . 2 4 6 θ 10 1 3 5 7 0 0 0 0 0 0
2 0 3 6 9 1 4 7 10 2 5 0 0 0 0 0 0
3 0 4 B 1 5 9 2 6 10 3 Q 0 0 0 0 0
4 0 5 10 4 9 3 B 2 7 1 0 0 0 0 0 0
5 0 6 1 7 2 B 3 9 4 4 0 0 α 0 0 0
b 0 7 3 10 6 2 9 5 1 B 0 0 0 ϋ 0 0
7 0 8 5 2 10 7 4 1 9 6 0 0 0 0 0 0
B 0 9 7 5 3 1 10 B 6 4 0 0 0 0 0 ΰ
9 0 10 9 B 7 6 5 4 3 2 0 0 0 0 0 0
10 0 0 Q 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 1 2 3 4 5 b 7 θ 9 0 0 0 0 0 0
12 0 2 4 6 B 10 1 3 5 7 0 0 0 0 0 0
1.3 ΰ 3 b 9 1 4 7 10 2 5 0 0 0 0 0 π
Vl IJ 4 B 1 5 9 2 b 10 J U 0 ϋ (3 ϋ Il
■ · ·
TF
15 0 5 10 4 9 3 a 2 7 1 0 0 0 0 0
I α 0 1 2 3 4 5 Tabelle 7 5 6 7 3 9 0 0 Ü O 0 O
1 0 1 2 3 4 5 7 5 6 7 9 0 0 0 0 0 0
2 0 2 4 6 B 10 6 J 16 9 2 θ 7 0 0 0 0 α 0
0 3 0 4 θ 1 5 9 6 b 7 5 3 θ 3 0 0 0 α 0 0
1 4 0 θ 5 2 10 7 1 1 2 16 13 5 6 0 0 0 0 ϋ 0
2 5 0 5 10 4 9 3 2 2 3 7 11 10 1 0 0 α 0 0 0
3 b 0 10 9 B 7 6 4 4 13 2 B 9 2 0 0 0 0 0 0
4 7 0 9 7 5 3 1 B a 11 3 12 7 4 0 0 0 0 0 0
5 θ 0 7 3 10 6 2 5 5 θ 13 1 3 θ 0 0 0 0 0 0
6 5 0 3 6 9 1 4 10 10 12 11 10 b 5 0 0 0 0 0 0
7 10 0 6 1 7 2 θ 9 9 1 θ 15 1 10 0 0 0 0 0 0
e 11 0 1 2 3 4 5 7 7 10 12 14 2 9 0 0 0 0 0 0
9 12 0 2 4 6 8 10 3 3 15 1 4 4 7 0 0 0 0 0 0
10 13 0 4 θ 1 5 9 6 6 14 10 B 3 0 0 0 0 0 0
11 14 0 8 5 2 10 7 1 1 4 15 5 6 0 0 ο· 0 0 0
12 15 0 5 10 4 9 3 2 2 b 14 10 1 0 0 0 0 0 0
13 0 10 9 6 7 ti 4 4 9 4 1b 9 2 0 0 0 0 0 FF
14 B Tabelle 7
15 1 2 3 4 5 3 9 0 0 0 0 0 °!
0 1 2 3 4 4 9 0 0 0 0 0 0
0. 10 3 1ο b B 5 0 0 0 0 0 0
0 15 13 11 9 B 16 0 0 0 0 0 0
0 14 11 B 5 12 7 0 0 0 0 0 0
0 4 B 12 16 1 2 0 0 0 0 0 0
0 b 12 1 7 10 3 0 0 0 0 0 Q
0 9 1 10 2 15 13 0 0 0 0 0 0
0 5 10 15 3 14 11 0 0 0 0 0 0
α 16 15 14 13 4 B 0 0 0 0 0 0
0 7 14 4 11 6 12 0 0 0 0 0 0
ϋ 2 4 6 θ 9 1 0 0 0 0 0 0
0 J 6 9 12 5 10 0 0 ϋ 0 0 0
ϋ 13 9 5 1 16 15 0 0 0 0 0 0
ϋ 11 5 Ib 10 7 14 0 0 ϋ 0 0 0
U ί\ U, 7 15 2 η α U U O I) υ
0 12 7 2 14 3 b ϋ 0 0 0 Ü FF
U
11

Claims (1)

  1. 3. März 1978
    GOMPAGNIE INTERNATIONALE POUR L1INi1ORMATIQUE
    CII- HONEYWELL BULL 94, Avenue Gambetta
    75020 PARIS / Frankreich
    Unser Zeichen: 0 3166
    Patentansprüche
    Ij, System zum Kontrollieren der Gültigkeit einer durch eine Maschine von einem Beleg abgelesenen Codegruppe und insbesondere einer alphanumerischen Codegruppe von bestimmter maximaler Länge, wobei der Zahlenwert jedes Elementes der Codegruppe mit einem Koeffizienten multipliziert wird, der von der relativen Position des betreffenden Elementes in der Codegruppe abhängt, die Summe der durch die Multiplikationen erhaltenen Produkte gebildet wird, diese Summe durch eine vorbestimmte Zahl ("Modul") dividiert wird und das Komplement des bei der Division erhaltenen Restes zu dem Modul als Prüfschlüssel zu der Codegruppe hinzugefügt wird, gekennzeichnet durch Speichereinrichtungen, die für jeden Modul und/oder jede Kombination von Koeffizienten eine adressierbare Tabelle mit doppeltem Eingang enthalten, wobei jede Adresse, die einem möglichen Zahlenwert und einer möglichen Relativposition eines Elements der Codegruppe entpricht, den Rest der Division des mit dem der Position zugeordneten Koeffizienten multiplizierten Zahlenwertes durch den Modul enthält, und durch elementare Verarbeitungseinrichtungen, mittels welchen in iterativer Weise jedes Element der Codegruppe und
    ORiGiNAL INSPECTED
    χ 8 Li L"! 3 4 1
    der an der entsprechenden Adresse der Tabelle enthaltene Rest gelesen werden, dieser Rest zu dem vorhergehenden Rest addiert und die Summe durch den Modul dividiert wird, um einen neuen Rest zu erhalten, wobei dieser Prozeß unter Verwendung des Prüfschlüssels als Anfangsrest und bis zur Abarbeitung der Codegruppe wiederholt wird, um schließlich einen Rest zu erzeugen, der gleich Null ist, wenn das Lesen der Codegruppe korrekt ist.
    2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Verarbeitungseinrichtungen ein Register oder eine andere ieversierbare Zähleinrichtung enthalten, die die Additionsoperation und die Divieionsoperation ausführt, wobei letztere gegebenenfalls auf die einfache Subtraktion des Moduls reduziert ist.
    3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Verarbeitungseinrichtungen Vergleichsschaltungen enthalten, die einen Vergleich mit Null durchführen und, wenn der Zahlenwert des gelesenen Elements der Codegruppe Null ist, das Lesen des nächsten Elements der Codegruppe veranlassen.
    4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Verarbeitungseinrichtungen Vergleichsschaltungen enthalten, die, wenn die Summe des in der Tabelle der Speichereinrichtungen gelesenen Restes und des vorhergehenden Restes kleiner als der Modul ist, die Divisionsoperation oder die Subtraktion des letzteren verhindern.
    009836/0883
    5. System nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Verarbeitungseinrichtungen Vergleichsschaltungen enthalten, die den endgültigen Rest mit Null vergleichen und das Lesen der Codegruppe für gültig oder für ungültig erklären.
    6. System nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Verarbeitungseinrichtungen Schaltungen zum Abzählen der Positionen der Codegruppe enthalten, welche das Lesen der letzteren für ungültig erklären, wenn die Zahl ihrer Elemente eine vorbestimmte Grenze übersteigt.
    7. System nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß jede Restetabelle, die in den Speichereinrichtungen aufgezeichnet ist, wenigstens 10.N Adressen enthält, wobei N die maximale Anzahl der Positionen einer Codegruppe ist, von denen jede in codierter Form einen Rest enthalten kann, der höchstens gleich dem entsprechenden Modul ist.
    8. System nach Anspruch 7, dadurch gekennzeichnet, daß jede Tabelle 256 Adressen enthält, die 10+6 möglichen Zahlenwerten und 16 möglichen Positionen eines Elements einer Codegruppe entsprechen.
    9. System nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß an jeder Adresse der Tabelle wenigstens eine binäre Oktade aufgezeichnet werden kann.
    .λν..ΐ^-fi 9fnfi/nfi83 ORIGINAL. INSPECTED
    2 8 ü 934 1
    10. System nach Anspruch 9, dadurch gekennzeichnet, daß jede Oktade die direkte Binärumsetzung des Dezimaiwertes des entsprechenden Restes ist.
    9836/Π883
    iNÄL !NSPECTEO
DE19782809341 1977-03-04 1978-03-03 System zum kontrollieren der gueltigkeit einer durch eine maschine von einem beleg abgelesenen codegruppe Granted DE2809341A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7706484A FR2382724A1 (fr) 1977-03-04 1977-03-04 Systeme pour controler la validite de la lecture par une machine d'un code porte sur un document

Publications (2)

Publication Number Publication Date
DE2809341A1 true DE2809341A1 (de) 1978-09-07
DE2809341C2 DE2809341C2 (de) 1988-10-27

Family

ID=9187604

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782809341 Granted DE2809341A1 (de) 1977-03-04 1978-03-03 System zum kontrollieren der gueltigkeit einer durch eine maschine von einem beleg abgelesenen codegruppe

Country Status (8)

Country Link
US (1) US4358849A (de)
JP (1) JPS53110344A (de)
BR (1) BR7801218A (de)
DE (1) DE2809341A1 (de)
FR (1) FR2382724A1 (de)
GB (1) GB1597043A (de)
IT (1) IT1108709B (de)
SE (1) SE444997B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4270043A (en) * 1979-03-13 1981-05-26 Kronos Inc. Methods of and apparatus for time clock recording and computation and related uses
US4485435A (en) * 1981-03-09 1984-11-27 General Signal Corporation Memory management method and apparatus for initializing and/or clearing R/W storage areas
US4831521A (en) * 1983-11-10 1989-05-16 General Signal Corporation Vital processor implemented with non-vital hardware
US4807287A (en) * 1987-04-06 1989-02-21 Light Signatures, Inc. Document authentication method
GB2214673A (en) * 1988-01-29 1989-09-06 Texas Instruments Ltd Electronic control device for producing a particular code group of digits when energised.
DE19510626A1 (de) * 1995-03-23 1996-09-26 Giesecke & Devrient Gmbh Verfahren zur Prüfung der Unversehrtheit von gespeicherten Daten auf einer Verarbeitungsanlage für Blattgut, wie z. B. Banknoten oder Wertpapiere
JP4823277B2 (ja) * 2003-01-31 2011-11-24 花王株式会社 キャップの着脱構造

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1574528A1 (de) * 1968-01-24 1971-05-13 Philips Patentverwaltung Verfahren und Vorrichtung zur Bestimmung von Pruefzeichen beliebig vorgegebener Anzahl
GB1439915A (en) * 1972-06-14 1976-06-16 Goldberg L L Check digit generation verification apparatus
DE2744133A1 (de) * 1976-10-01 1978-04-06 Cii Honeywell Bull Einrichtung zur verarbeitung von aufgezeichneten daten

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3303463A (en) * 1963-03-04 1967-02-07 Ibm Error detection and correction apparatus for character readers
US3571581A (en) * 1968-09-10 1971-03-23 Ibm Digit verification system for an electronic transaction recorder
GB1327747A (en) * 1971-02-17 1973-08-22 Int Computers Ltd Universal check digit verifier/generator systems
US4065752A (en) * 1972-06-14 1977-12-27 Leslie Louis Goldberg Check digit generation and verification apparatus
JPS5127040A (de) * 1974-08-30 1976-03-06 Tokyo Shibaura Electric Co

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1574528A1 (de) * 1968-01-24 1971-05-13 Philips Patentverwaltung Verfahren und Vorrichtung zur Bestimmung von Pruefzeichen beliebig vorgegebener Anzahl
GB1439915A (en) * 1972-06-14 1976-06-16 Goldberg L L Check digit generation verification apparatus
DE2744133A1 (de) * 1976-10-01 1978-04-06 Cii Honeywell Bull Einrichtung zur verarbeitung von aufgezeichneten daten

Also Published As

Publication number Publication date
DE2809341C2 (de) 1988-10-27
FR2382724B1 (de) 1980-01-11
IT1108709B (it) 1985-12-09
US4358849A (en) 1982-11-09
GB1597043A (en) 1981-09-03
SE444997B (sv) 1986-05-20
BR7801218A (pt) 1978-09-26
JPS53110344A (en) 1978-09-27
IT7820797A0 (it) 1978-03-01
SE7802443L (sv) 1978-09-05
FR2382724A1 (fr) 1978-09-29

Similar Documents

Publication Publication Date Title
DE3884332T2 (de) Elektronische Registrierkasse mit an den Kundschaftsgrad angepassten Rabattpreisen.
DE3240085C2 (de)
DE2044069C3 (de) Datenverarbeitungsterminal, insbesondere Kassenterminal
DE69217228T2 (de) Verfahren zum aufstellen von multi-objekt-bedingungen in dateien
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE69010850T2 (de) Ausgabesystem für tragbare Speicher.
DE2512902B2 (de) Datenaustauschsystem
DE3809028A1 (de) Ic-kartenbenutzungssystem fuer ic-karten
DE2009854A1 (de)
DE2514915A1 (de) Einrichtung fuer die ausgabe von fahrkarten oder dergleichen
DE2729367A1 (de) Anlage zur kontrolle von warenverkaeufen
DE3525217A1 (de) Verkaufsdatenverarbeitungsgeraet
DE2809341A1 (de) System zum kontrollieren der gueltigkeit einer durch eine maschine von einem beleg abgelesenen codegruppe
DE3346767C2 (de)
EP0230994B1 (de) Verfahren zur Steuerung des Programmablaufs bei der Formularbearbeitung in Datenverarbeitungsanlagen
DE2846199A1 (de) Endgeraet zur uebertragung von daten
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2625183A1 (de) Datenverarbeitungseinrichtung
DE2331874A1 (de) Vorrichtung zum rechnerischen verarbeiten von kostenrechnungsaufzeichnungen
DE2649147C2 (de) Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen
DE3852975T2 (de) Datenverarbeitungsanlage mit Anpassung der Ein-/Ausgabe-Funktionen.
DE2744133A1 (de) Einrichtung zur verarbeitung von aufgezeichneten daten
DE2725382C2 (de) Anordnung zur Voreinstellung von Einheitspreisen in einer Anzahl von Registrierkassen
DE68927206T2 (de) Verfahren und Apparat zur Aktualisierung von Transaktionsdatei
DE68928255T2 (de) Apparat und Verfahren zur Verarbeitung von Daten eines Kennsatzes

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: PRINZ, E., DIPL.-ING. LEISER, G., DIPL.-ING., PAT.

8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition