Patent ID: 7359956
Filing Date: 2008-04-15
Classification: H04L

Abstract:
1. A server side proxy device for receiving data transmitted from a server device and transmitting the data to a client side proxy device connected to a client device which is a destination of the data, the server side proxy device comprising: a reception unit configured to receive the data from the server device; a fingerprint generation unit configured to generate a fingerprint of the data received by the reception unit; a maintaining unit configured to set the data received by the reception unit as a reference data, and maintain the fingerprint generated by the fingerprint generation unit as a fingerprint cache according to the reference data by setting the fingerprint in relation to the reference data; a first judgement unit configured to judge whether the fingerprint generated by the fingerprint generation unit according to the data received by the reception unit is maintained in the fingerprint cache or not; a difference compression processing unit configured to generate a difference compressed expression data containing a compression information and a direct specification information indicating a remaining content obtained by removing a portion corresponding to the compression information from the data received by the reception unit, for each one or a plurality of portions of the data received by the reception unit, by obtaining the compression information formed by a set of the fingerprint that is set in relation to the reference data that contains an identical content as said each one or a plurality of portions among the reference data maintained in the fingerprint cache and a location information for enabling identification of a location at which the identical content exists in the reference data, when the first judgement unit judges that the fingerprint is not maintained in the fingerprint cache; a second judgement unit configured to judge whether a value indicating a level of compression is greater than or equal to a reference value or not, the level of compression being calculated an amount of data which is a source of the difference compressed expression data and an amount of data of the difference compressed expression data, with respect to an amount of data of the difference compressed expression data generated by the difference compression processing unit; and a transmission unit configured to transmit a fingerprint compressed data containing the fingerprint instead of data which is a source of the fingerprint, to the client side proxy device by setting the client device as the destination, when the first judgement unit judges that the fingerprint is maintained in the fingerprint cache when the data is received by the reception unit; or to set the fingerprint and data which is a source of the fingerprint in relation and add these fingerprint and data to the fingerprint cache and transmit a difference compressed data containing the difference compressed expression data instead of data which is a source of the difference compressed expression data, to the client side proxy device by setting the client device as the destination, when the first judgement unit judges that the fingerprint is not maintained in the fingerprint cache and the second judgement unit judges that the value indicating the level of compression is greater than or equal to the reference value for the difference compressed expression data generated by the difference compression processing unit; or to set the fingerprint and data which is a source of the fingerprint in relation and add these fingerprint and data to the fingerprint cache and transmit a non-compressed data containing received data, to the client side proxy device by setting the client device as the destination, when the second judgement unit judges that the value indicating the level of compression is not greater than or equal to the reference value for the difference compressed expression data generated by the difference compression processing unit.