Patent ID: 8205009

Claim:
A system for efficiently transmitting data from a first site to at least one remote site over a communication medium, the data includes blocks of data; the system comprising: storage for storing data in sub-segment boundaries, such that at least one sub-segment is accommodated in each block; said storage includes at least two storage buffers, wherein blocks of data having the same context are stored in only one of the at least two storage buffers; a context splitter configured to split incoming data blocks according to their context and for each incoming data block, the context splitter is configured to provide the incoming data block to a corresponding one of the at least two storage buffers having data blocks of the same context as the incoming data block; signature storage for storing data including signature data; each one of said sub-segments is associated with at least one signature; each signature has a signature size smaller than its respective sub-segment size; the system includes a processor configured to perform at least the following, as many times as required: receiving a block; in the case the block accommodates more than one sub-segment, partitioning the block into sub-segments; for each sub-segment in the block, calculating at least one signature; determining whether the calculated signature matches a corresponding signature, if any, stored in the signature storage; and in case of no match indicating that the sub-segment is new or has been modified: performing non-synchronous data replication by maintaining the sub-segment in the storage for a period of time before transmitting the sub-segment to at least one of said remote sites, and storing the calculated signature in the signature storage, wherein said processor is further configured to selectively switch between one of said at least two storage buffers and wherein said signature processing is performed in said selected storage buffer in respect of blocks that are stored in said selected storage buffer.