A method of communicating data that corrects errors in transmission on the receiving end. Prior to transmission, the data is put through a predetermined algorithm that adds extra bits specifically for error correction to any character or code block. If the transmission is received in error, the correction bits are used to check and repair the data.
Look for "FEC communications protocols" and "communications protocols" in general. Also, the PAR scheme can be used to the same end. A standard communications protocol would be more efficient for most situations e.g. A block of data is sent with a CRC value, if the block received doesn’t match the CRC value, request the block to be sent again.