Most commonly, error correction refers to a method of transmitting data which reduces the possibility of errors. This is most often accomplished by redundancy redundancy and checksums. If an error is received in a frame of data, an error correction algorithm will know it because the frame's checksum will not match the sum of all the data in the frame. The algorithm will then attempt to reconstruct a correct frame using the available data. If the frame cannot be salvaged, the data is usually re-requested from the transmitter.