Patent ID: 8849953

Claim:
A terminal device that data, which is used to output contents, through at least either one of a first network and a second network being at least either one of a network whose communication speed is lower than that of the first network and a network whose communication fee charged according to an amount of communication is higher than that of the first network, the terminal device comprising: at least one memory operable to store program code; at least one processor operable to read said program code and operate as instructed by said program code, said program code including: connection determination code that causes said at least one processor to determine whether or not the terminal device is connected to the first network; identification information acquisition code that causes said at least one processor to acquire identification information of either one of first data and second data, an amount of data of the second data being smaller than that of the first data, the identification information being identification information by which a transmitting device identifies data which the transmitting device that transmits data is requested to transmit; generation code that causes said at least one processor to generate identification information of the other of the first data and the second data on the basis of the identification information acquired by the identification information acquisition code and a conversion rule between the first data and the second data; first storage determination code that causes said at least one processor to determine whether or not data corresponding to the identification information acquired by the identification information acquisition code and data corresponding to the identification information generated by the generation code are stored in a storage; receiving code that causes said at least one processor to receive the first data through the first network when it is determined that the terminal device is connected to the first network and receive the second data through the second network when it is determined that the terminal device is not connected to the first network and the first data is not stored in the storage, the receiving code causes said at least one processor to transmit the identification information acquired by the identification information acquisition code or the identification information generated by the generation code to the transmitting device and thereby receiving data identified by the transmitted identification information from the transmitting device; control code that causes said at least one processor to store data received by the receiving code in the storage in association with the identification information of the received data; and output code that causes said at least one processor to output the contents based on the first data when it is determined that the first data is stored in the storage and output the contents based on the second data when it is determined that only the second data is stored in the storage.