1. A relay device being connected to a plurality of external devices through communication lines and relaying repeated sending and receiving of data between the external devices, the relay device being a computer and comprising: a communication section for sending and receiving data to and from the external devices; a storage section for storing the received data; and a controller for: generating first additional data by computation based on one or a plurality of items in the received data, the first additional data being different from the received data and being a first computation result; storing the first additional data, which is the first computation result, in the storage section; determining, based on time information, whether or not regeneration by computation of the first additional data stored in the storage section is necessary; regenerating second additional data by computation based on the one or the plurality of items in the received data when it is determined that regeneration is necessary, the second additional data being different from the received data and being a second computation result; storing the second additional data, which was obtained by regeneration and which is the second computation result, in the storage section; and retrieving the second additional data or the received data from the storage section and causing the communication section to send the retrieved second additional data or the retrieved received data to an external device that requires the second additional data or the received data; wherein when the one or the plurality of items is newly received from the external device and contents of the one or the plurality of items have changed from contents of corresponding past data, the controller determines that regeneration of additional data generated using the past data is necessary.