Error detecting and error correcting codes. Hamming, R. W. The Bell System Technical Journal, 29(2):147-160, April, 1950.
doi  abstract   bibtex   
The author was led to the study given in this paper from a consideration of large scale computing machines in which a large number of operations must be performed without a single error in the end result. This problem of “doing things right” on a large scale is not essentially new; in a telephone central office, for example, a very large number of operations are performed while the errors leading to wrong numbers are kept well under control, though they have not been completely eliminated. This has been achieved, in part, through the use of self-checking circuits. The occasional failure that escapes routine checking is still detected by the customer and will, if it persists, result in customer complaint, while if it is transient it will produce only occasional wrong numbers. At the same time the rest of the central office functions satisfactorily. In a digital computer, on the other hand, a single failure usually means the complete failure, in the sense that if it is detected no more computing can be done until the failure is located and corrected, while if it escapes detection then it invalidates all subsequent operations of the machine. Put in other words, in a telephone central office there are a number of parallel paths which are more or less independent of each other; in a digital machine there is usually a single long path which passes through the same piece of equipment many, many times before the answer is obtained.
@article{hamming50_error,
  author =	 {Hamming, R. W.},
  journal =	 {The Bell System Technical Journal},
  title =	 {Error detecting and error correcting codes},
  year =	 1950,
  volume =	 29,
  number =	 2,
  pages =	 {147-160},
  abstract =	 {The author was led to the study given in this paper from a
                  consideration of large scale computing machines in which a
                  large number of operations must be performed without a single
                  error in the end result. This problem of “doing things right”
                  on a large scale is not essentially new; in a telephone
                  central office, for example, a very large number of
                  operations are performed while the errors leading to wrong
                  numbers are kept well under control, though they have not
                  been completely eliminated. This has been achieved, in part,
                  through the use of self-checking circuits. The occasional
                  failure that escapes routine checking is still detected by
                  the customer and will, if it persists, result in customer
                  complaint, while if it is transient it will produce only
                  occasional wrong numbers. At the same time the rest of the
                  central office functions satisfactorily. In a digital
                  computer, on the other hand, a single failure usually means
                  the complete failure, in the sense that if it is detected no
                  more computing can be done until the failure is located and
                  corrected, while if it escapes detection then it invalidates
                  all subsequent operations of the machine. Put in other words,
                  in a telephone central office there are a number of parallel
                  paths which are more or less independent of each other; in a
                  digital machine there is usually a single long path which
                  passes through the same piece of equipment many, many times
                  before the answer is obtained.},
  doi =		 {10.1002/j.1538-7305.1950.tb00463.x},
  ISSN =	 {0005-8580},
  month =	 {April},
}

Downloads: 0