A data processing system in which a client divides an original file into data chunks of 6 bytes, each data chunk further being divided into three different block files, resulting in block files X1, X2, X3, and each block file having two bytes, the block files comprising corresponding data x1, x2 and x3 and distributes the block files to a number of three or more servers in a distributed manner, the data processing system comprising: a coefficient determining unit configured to determine a set of 3 different coefficients ak.1, ak. 2 and ak. 3 associated with the 3 block files for each server, where ak.1 is a coefficient of x1, ak.2 is a coefficient of x2 and ak.3 is a coefficient of x3 and k is a number indicating a server; an encoding unit configured to encode the original file by calculating: ak.1x1 + ak.2x2 + ak.3x3 and ∀k∈{1, 2, 3, 4, ...}, where k is a number indicating a server; wherein the encoding unit connects the servers in a hierarchical manner, encoded data is directly distributed to N servers in an upper most layer in a distributed manner from the client, in servers other than the servers in the upper most layer, the encoded data is distributed to servers in a relatively lower layer from N servers in a relatively upper layer, and all servers except servers in the upper most layer and in a lower most layer sequentially perform encoding processing at the same time; a decoding unit configured to solve a set of 3 linear equations with 3 unknowns (x1, x2, x3) of the form: ak.1x1 + ak.2x2 + ak.3x3 = bk where k is a number indicating one of the 3 selected servers and bk is encoded data downloaded from one of the selected servers to restore original data x1, x2, x3; and a file connecting unit configured to connect the restored 3 block files X1, X2 and X3 to remanufacture the original file. a coefficient determining unit configured to determine a set of 3 different coefficients ak.1, ak. 2 and ak. 3 associated with the 3 block files for each server, where ak.1 is a coefficient of x1, ak.2 is a coefficient of x2 and ak.3 is a coefficient of x3 and k is a number indicating a server; an encoding unit configured to encode the original file by calculating: ak.1x1 + ak.2x2 + ak.3x3 and ∀k∈{1, 2, 3, 4, ...}, where k is a number indicating a server; wherein the encoding unit connects the servers in a hierarchical manner, encoded data is directly distributed to N servers in an upper most layer in a distributed manner from the client, in servers other than the servers in the upper most layer, the encoded data is distributed to servers in a relatively lower layer from N servers in a relatively upper layer, and all servers except servers in the upper most layer and in a lower most layer sequentially perform encoding processing at the same time; a decoding unit configured to solve a set of 3 linear equations with 3 unknowns (x1, x2, x3) of the form: ak.1x1 + ak.2x2 + ak.3x3 = bk where k is a number indicating one of the 3 selected servers and bk is encoded data downloaded from one of the selected servers to restore original data x1, x2, x3; and a file connecting unit configured to connect the restored 3 block files X1, X2 and X3 to remanufacture the original file. <EOS>