Fault Tolerance CDA 5140 Spring 06 Everyday FT. Background Use of check digits for error detection on everyday applications used extensively but most.

Slides:



Advertisements
Similar presentations
Chapter 16: Check Digit Systems, Continued
Advertisements

Math for Liberal Studies. An identification number is a sequence of letters and/or numbers that identifies an object, person, place, or concept The number.
Chapter 16: Check Digit Systems
Copyright © Cengage Learning. All rights reserved. 6 Equations and Formulas.
Math for Liberal Studies.  None of the methods we have investigated so far can detect transposition errors  In this section we will investigate new.
Chapter 4 Number Theory.
Digital Fundamentals Floyd Chapter 2 Tenth Edition
CMSC 250 Discrete Structures Number Theory. 20 June 2007Number Theory2 Exactly one car in the plant has color H( a ) := “ a has color”  x  Cars –H(
MAT 1000 Mathematics in Today's World Winter 2015.
Identification Numbers
Summary of lecture 4 We are accustomed to count like 1,2,3,4,5,6,7,8,9,10,11,12,… This is called counting in base 10 – the second digit tells us how many.
PrasadDigital Roots1 VEDIC MATHEMATICS : Digital Roots/Sums T. K. Prasad
Mathematics in Management Science
Chapter 16: Identification Numbers Lesson Plan
Codebreaking in Everyday Life John D Barrow. 10 x 10 x 10 x 10 seconds  2.75 hours.
More to Learn Check digit –It is used to check whether a number is valid. –Both ISBN and Hong Kong Identity Card numbers contain a check digit for data.
MAT 1000 Mathematics in Today's World Winter 2015.
Identification Numbers and Error Detection Meredith Wachs.
What is it? It is an applications driven course that is based upon the study of events that occur in small, or discrete, chunks. Discrete concepts are.
Wong Wai Ling, Lam Pui Ki Identification number  clearly identify a person or a thing Check digit  an extra digit for the purpose of error.
Encoding, Validation and Verification Chapter 1. Introduction This presentation covers the following: – Data encoding – Data validation – Data verification.
1 Digital Technology and Computer Fundamentals Chapter 1 Data Representation and Numbering Systems.
1 JavaScript 4 User Input Validation. 2 Input Validation One of the most useful applications of JavaScript is input validation Scripts in the page can.
Modular Arithmetic.
IT253: Computer Organization
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Number Systems Spring Semester 2013Programming and Data Structure1.
Laws of Indices 2 2.1Simplifying Algebraic Expressions Involving Indices 2.2Zero and Negative Integral Indices 2.3Simple Exponential Equations Chapter.
SAT Review 1.Which is the equation of a line that passes through the pt (7, - 1) and is to y + 2x = 1. A. y = 2x – 15 B. y = –2x + 13 C. D. 2.Line p is.
Modular Arithmetic, The Codabar System, and applications Tomás Cometto and Daniel Stokley Linear Systems 5/1/06.
Check Digit Schemes Jerzy Wojdyło Southeast Missouri State University May 13, 2002.
Lecture 12.  The ISBN 10-digit uses a reverse weighting system: multiply the first digit by 10, the second by 9, the third by 8 and so on until the check.
Information Representation. Digital Hardware Systems Digital Systems Digital vs. Analog Waveforms Analog: values vary over a broad range continuously.
Objectives of Control The objectives of control are:  To ensure that all data are processed  To preserve the integrity of maintained data  To detect,
Spring 2015 Mathematics in Management Science Identification Numbers Data Security Check Digits UPCs, Routing Nos, Bar Codes Personal Data.
4-2 binary fields and binary vector spaces Special Thanks to Dr. Samir Al-Ghadhban & EE430 Students.
Identity and Equality Properties. Properties refer to rules that indicate a standard procedure or method to be followed. A proof is a demonstration of.
Analyzing Numerical Data: Validating Identification Numbers
Lecture Delete all occurrences of h and w. 2. Assign numbers to the remaining letters as follows: a) Vowels, including y, have value 0. b) B, f,
AS computing Validation and verification. Introduction It is important to maintain the integrity of any database of information. Any data item must always.
MAT 105 Spring  An identification number is a sequence of letters and/or numbers that identifies an object, person, place, or concept  The number.
Section 2.1 Solving Equations Using Properties of Equality.
Barcodes! Felipe Voloch These notes and the barcode program are available at /barcode.html.
Data Representation, Number Systems and Base Conversions
Chapter 3: Classes and Objects Java Programming FROM THE BEGINNING Copyright © 2000 W. W. Norton & Company. All rights reserved Java’s String Class.
Verification & Validation. Batch processing In a batch processing system, documents such as sales orders are collected into batches of typically 50 documents.
Joseph Kirtland Department of Mathematics Marist College
Review of Data Capture. Input Devices What input devices are suitable for data entry? Keyboard Voice Bar Code MICR OMR Smart Cards / Magnetic Stripe cards.
1 Copyright © Cengage Learning. All rights reserved. 2. Equations and Inequalities 2.3 Quadratic Equations.
Math for Liberal Studies. What is an identification number?  An identification number is a sequence of digits and/or numbers that identifies an object,
Check Digits Tanli Su. Introduction -identification numbers are used to easily identify people, products, books, accounts, credit cards, driver's licenses,
Coding Seven’s and Nine’s Sol: DM.11 Classwork: Students will take turns reading the “Coding Introduction” Worksheet aloud Homework (day 46): Worksheet.
Hamming (4,7) Code Binary Linear Codes Hamming Distance Weight of BLC
Dr. Saatchi, Seyed Mohsen 1 Arab Open University - AOU T209 Information and Communication Technologies: People and Interactions Sixth Session.
Chapter 4.  Variables – named memory location that stores a value.  Variables allows the use of meaningful names which makes the code easier to read.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
MAT199: Math Alive Error corretcing and compression Ian Griffiths Mathematical Institute, University of Oxford, Department of Mathematics, Princeton University.
Analyzing Numerical Data: Validating Identification Numbers
Chapter 16: Identification Numbers Lesson Plan
Multiplication Inverse
Keeper 8: UPC Codes S.A.S. #12 1 – 3 Credit Cards S.A.S. #
Modular Arithmetic 7th Grade Lesson Plan
Modular Arithmetic II Lecture 10: Oct 6.
Chapter 16: Introduction
The Digital Revolution
Credit Cards UPC Codes.
Chapter 16: Check Digit Systems, Continued
Communicating Efficiently
Chapter 16: Identification Numbers Lesson Plan
Lecture 17 Making New Codes from Old Codes (Section 4.6)
Presentation transcript:

Fault Tolerance CDA 5140 Spring 06 Everyday FT

Background Use of check digits for error detection on everyday applications used extensively but most people unaware of it Examples: airline tickets, credit cards, bank accounts, library books, grocery products, drivers’ licenses, passports, rental cars, UPS, express mail, UPC bar codes, etc. Not used for SSNs, telephone numbers & some serial numbers on currency - why not?

Universal Product Codes (UPC) First used on groceries, now on most products; some products now have Radio Frequency Identification (RFID) which is much more complicated UPC has 12 digits, a 1, a 2, … a 12 each of which is from the set {0, 1, …, 9} and a 1 is the product type a 2 to a 6 identifies the manufacturer a 7 to a 11 identifies the product a 12 is the check digit In some products a 12 is not printed but is on bar code

UPC continued a 12 chosen such that: (a 1 a 2 a 3 …a 12 )( ) = 3a 1 + a 2 + 3a 3 + … + a 12 = 0 (mod 10)

Example: Kellogg product

2nd Kellogg Product

Nutri Grain Product Different manufacturer

UPC Examples Note for all 3 products that first digit is “0” indicating a household product First 2 products from same manufacturer, so next 5 digits same (38000) but 3rd is different manufacturer so different digits (16000) First 2 products are different, so different next 5 digits distinct (66330 and 01302)

UPC examples To determine if first example is a valid code, calculate 3(0) + 1(3) + 3(8) + 1(0) + 3(0) + 1(0) + 3(6) + 1(6) + 3(3) + 1(3) + 3(0) + 1(7) = 70 = 0(mod 10) This code is able to detect any single error, for example, typed in incorrectly. Assume a digit a i is incorrectly entered as a i ’ and if this were not detected, then would have:

UPC example continued (a 1 a 2 a 3 …a i … a 12 )( ) = 0 (mod 10) (a 1 a 2 a 3 …a i ’…a 12 )( )=0 (mod 10) Thus ((a 1 a 2 a 3 …a i …a 12 ) - (a 1 a 2 a 3 …a i ’…a12))( ) = 0 which implies either (a i - a i ’) = 0 or 3 (a i - a i ’) = 0 (mod 10) which is a contradiction, and hence a single error must be detected

Version E UPC Used for special products such as round soda cans, small items, magazines Only 8 digits long Uses one of 4 formulae depending on last non-check digit –If a 7 is {0, 1, 2} then a 8 is such that ( )(a 1 a 2 a 3 …a 8 ) = 0 (mod 10)

Version E UPC cont’d If a 7 is {3} then a 8 is chosen such that ( ) )(a 1 a 2 a 3 …a 8 ) = 0 (mod 10) If a 7 is {4} then a 8 is chosen such that ( )(a 1 a 2 a 3 …a 8 ) = 0 (mod 10) If a 7 is {5,6,7,8,9} then a 8 is chosen such that ( )(a 1 a 2 a 3 …a 8 ) = 0 (mod 10)

Version E UPC Example New Yorker Magazine Since a 7 is 9, use ( )

Other UPC Versions Shipping container version has 2 check digits, one comparable to standard, other using modulus 103 European countries have 13-digit version, weight vector ( ) with 2 digits ahead of the manufacturer’s number to identify the country

Credit Card Methods IBM developed more complex system for use with credit cards, libraries, blood banks, some vehicle agencies, etc. Use permutation  that maps as:  (0) = 0  (1) = 2  (2) = 4  (3) = 6  (4) = 8  (5) = 1  (6) = 3  (7) = 5  (8) = 7  (9) = 9

Credit Card Method For any string of digits (a 1 a 2 a 3... a n-1 ), n even, check digit a n is set such that  (a 1 ) + a 2 +  (a 3 ) + a  (a n-1 ) + a n = 0 (mod 10) For n odd, apply  to even numbered positions. Consider a VISA ad with card number is this valid?

Error Detection for UPC & Credit Card Schemes Both schemes can detect all single digit errors. Common error of transpositions of two digits where …ab… becomes …ba… is not detected by UPC code if |a-b| = 5, and not by IBM code if |a-b| = 9 For UPC code, why is this true? So, for the 90 such possible transpositions for UPC code, all except 05, 16, 27, 38, 49 and reversals are detected, & for IBM not 90 or 90

Increased Detection Ability Next to 2-digit transformation, most common transformation is jump transformation which changes …abc… into …cba…, e.g … to Neither of UPC or IBM schemes would detect these A weight vector of ( ) is used with 8- digit number mod 10 by banks & many western countries for passport to detect such errors, others use ( …) Both schemes detect jumps if |a-c| is not 5

Increased Detection cont’d Other classes of errors detected depending on the 3 weights used –for example …aca… to …bcb…, or, …aa… to …bb… can be detected with the proper choice of weights 4-weight schemes increase percentage of errors detected but order of weights becomes very important –for example, if weights are 1, 3, 9, 7, then we have 1a + 3c + 9a = 10a + 3c = 3c (mod 10) and 1b +3c + 9b = 10b + 3c = 3c (mod 10) So error not detected. What if change weights to 1, 3, 7, 9?

Other Modulus Schemes All previous schemes were modulus 10. Scheme for ISBN (book) numbers is mod 11 & detects all single errors and transposition errors. 9-digit number and one check digit, (a 1 a 2 a 3 …a 10 )with weight vector ( ) gives: (a 1 a 2 a 3 …a 10 )( ) = 0 (mod 11) if a 10 is 10 then it is written as “X” Our text has ISBN number and sums to 187 = ?

Other Modulus Schemes Various schemes developed to avoid use of X but not as well known as ISBN. Most common error is single digit but many schemes don’t cover such as choice is based on simplicity, e.g. USPS money orders, FedEx, UPS packages simply assign check digits based on mod 9 or 7

Other Modulus Schemes Airline companies, FedEx, UPS divide number by 7 & take remainder as check digit For example, UPS number divided by 7 gives a remainder of 4 so on the package is: division by 7 not as effective at detecting single errors but is fairly effective at detecting transpositions

Alphanumeric Schemes Include alphanumeric characters, for example the “3-out-of-9” code or 39 Code, allows digits {0, 1, … 9} and letters {A, B, …, Z} and characters - and. and space, used by DoD, automotive and health industries Letters assigned numbers 10 through 35, and other 3 characters, 36,37 and 38 respectively Multiply (a 1 a 2 a 3 …a n )(n n-1 … 3 2 1) mod 39 and take remainder as check digit, converted to alphanumeric if necessary Can add $,/,+,% as 39 through 42 to detect all single digit errors & all transposition errors

Error Correcting Approaches Some schemes add second check digit to give more ‘power’ Example: Norwegian citizen registration numbers with 9 digits plus 2 check digits calculated as: (a 1 a 2 a 3 …a 10 )( ) = 0 (mod 11) (a 1 a 2 a 3 …a 11 )( ) = 0 (mod 11) Detects all single digit errors and all double errors except those where difference between correct version & incorrect one is of form (0 0 0 a a 0) Why?

Error Correcting Numbers such that check digits would be “10” not used More powerful version detects all double errors and corrects all single errors The information is 8 digits and check is 2 digits: (a 1 a 2 a 3 …a 10 )( ) = 0 (mod 11) (a 1 a 2 a 3 …a 10 )( ) = 0 (mod 11) Note that omitting numbers with check digit ‘10’ still gives over 82 million numbers.

Error Correcting First calculation determines magnitude m of any single error, since if there were no errors, sum would be 0 modulus 11 Second calculation, assuming single error, will then identify position i of error since if sum s is non-zero, have mi = s, so determine that position i is too large by m (use modulus properties to get an even multiple of i) Thus, knowing magnitude & position, single error can be corrected.

Error Correcting Given 8 information digits can calculate a 9 and a 10 ( a 9 a 10 )( ) = a 9 + a 10 = 30 + a 9 + a 10 = 8 + a 9 + a 10 = 0 (mod 11) ( a 9 a 10 )( ) = a a 10 = a a 10 = a a 10 = 0 (mod 11) 2 equations in 2 unknowns - what are values of a 9 and a 10 ?

Summary Various schemes discussed have many uses when used to detect errors Techniques based on Number Theory properties and used sum of zero but any digit could be used Techniques likely to be extended to much more powerful but simple-to-calculate schemes