Abstract: A method of storing data is provided. The method includes receiving a first set of data provided over a network session, and compressing the first set of data to form a second set of data. As further provided, the second set of data includes a number of bytes smaller than the first set of data. Further, the second set of data includes a portion of compressed data that is common to other network sessions. The method further includes compressing further the portion of the compressed data common to other network sessions to obtain a third set of data, and storing the third set of data.