Communication server, method and systems, for reducing transportation volumes over communication networks
First Claim
1. A communication server configured to deliver a data stream from a remote sender to a remote destination over a communication network, the communication server comprising:
- a data storage unit comprising a non-transitory computer readable medium accessible thereto;
an anchor-determination unit configured to determine at least one anchor in an incoming data stream, the anchor being indicative of a location in the stream of data where a group of characters in the data stream fulfill a predetermined criterion;
the anchor being a reference point indicative of a respective predetermined data range in said data stream for calculating a digital signature identifying a respective data block in said data stream;
said data range consisting of a number of bytes which is independent of block size;
an identification unit configured to;
calculate said digital signature over said predetermined data range in the data stream; and
identify using the digital signature a previously stored data block comprising pieces of data that are substantially identical to pieces of data in said incoming data stream;
a replacement unit configured, to;
replace references to the location of pieces of data in the incoming data stream with respective pieces of data in said previously stored data block.
2 Assignments
0 Petitions
Accused Products
Abstract
Method for delivering data streams over communication networks is disclosed, the method comprising determining reference points in a stream of data being locations in the stream where predefined number of characters fulfill a predetermined criterion; registering digital signatures being values returned from a predetermined function taken over predefined ranges of content, the ranges are in correlation with the reference points; using the digital signatures to locate locally stored content, and using the reference points or creating a dictionary and using it to synchronize between currently received pieces of data and between locally stored matching content. Communication server implementing the method is also disclosed, and further disclosed are communication systems comprising at least one said server.
-
Citations
16 Claims
-
1. A communication server configured to deliver a data stream from a remote sender to a remote destination over a communication network, the communication server comprising:
-
a data storage unit comprising a non-transitory computer readable medium accessible thereto; an anchor-determination unit configured to determine at least one anchor in an incoming data stream, the anchor being indicative of a location in the stream of data where a group of characters in the data stream fulfill a predetermined criterion;
the anchor being a reference point indicative of a respective predetermined data range in said data stream for calculating a digital signature identifying a respective data block in said data stream;
said data range consisting of a number of bytes which is independent of block size;an identification unit configured to; calculate said digital signature over said predetermined data range in the data stream; and
identify using the digital signature a previously stored data block comprising pieces of data that are substantially identical to pieces of data in said incoming data stream;a replacement unit configured, to; replace references to the location of pieces of data in the incoming data stream with respective pieces of data in said previously stored data block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of delivering a data stream from a remote sender to a remote destination over a communication network, the method comprising:
-
accessing a non-transitory computer readable media containing instructions for controlling a computer system, the instructions comprising computer readable code for; determining at least one anchor in an incoming data stream, the anchor being indicative of a location in the stream of data where a group of characters in the data stream fulfill a predetermined criterion;
the anchor being a reference point indicative of a respective predetermined data range in said data stream for calculating a digital signature identifying a respective data block in said data stream;
said data range consisting of a number of bytes which is independent of block size;calculating said digital signature over said predetermined data range in the data stream; and
identify using the digital signature a previously stored data block comprising pieces of data that are substantially identical to pieces of data in said incoming data stream; andreplacing references to the location of pieces of data in the incoming data stream with respective pieces of data in said previously stored data block.
-
-
15. A system configured to reduce data transportation volumes over a communication network, comprising at least a first communication server configured to deliver a data stream to a second server over a communication network, the first communication server comprising:
-
a data storage unit comprising a non-transitory computer readable medium accessible thereto; an anchor-determination unit configured to determine at least one anchor in an incoming data stream, the anchor being indicative of a location in the stream of data where a group of characters in the data stream fulfill a predetermined criterion;
the anchor being a reference point indicative of a respective predetermined data range in said packet for calculating a digital signature identifying a respective data block in said data stream;
said data range consisting of a number of bytes which is independent of block size;an identification unit configured to; calculate said digital signature over said predetermined data range in the data stream; and
identify using the digital signature a previously stored data block that is substantially identical to the data block in the data stream;a replacement unit configured to; replace pieces of data in at least one packet in the data block in the data stream with references to the location of respective pieces of data in the previously stored data block, thereby generating a reconstructed packet in the data stream; and
forward the reconstructed packet to be transmitted to the second communication server. - View Dependent Claims (16)
-
Specification