Communication server, method and systems, for reducing transportation volumes over communication net works
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 signature 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.
Claims
exact text as granted — not AI-modified1 - 16 . (canceled)
17 . 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; 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.
18 . The communication server of claim 17 wherein said data block comprises a plurality of packets; said data range for calculating said digital signature identifying said data block is located in a first packet of said plurality of packets;
said replacement unit is configured to replace pieces of data in at least one other packet of said plurality of packets in said data block, said at least one other packet are received later than said first packet.
19 . The communication server of claim 17 wherein the data range consists of a number of bytes which is independent of block size.
20 . The communication server according to claim 17 , wherein the pieces of data are packets of TCP/IP transmission protocol.
21 . The communication server according to claim 17 , wherein packets are stored in the data storage unit in blocks of variable size which is determined according to anchor location on the original data stream.
22 . The communication server according to claim 17 , wherein the digital signature is based on any of CRC, SHA1 or DES computed value of a predetermined number of bytes from a selected piece of data.
23 . The communication server according to claim 17 , wherein the digital signature is calculated from a predetermined number of bytes of data, the location of said bytes in the data stream is in correlation with at least one anchor, and the at least one anchor is a pointer to a location in the data stream having a compatibility with the predetermined criterion.
24 . The communication server according to claim 22 , wherein the predetermined criterion is a function of data contained in said pieces of data and is independent of a title, address or routing information of said data.
25 . The communication server according to claim 23 , wherein the function is responsive to a predetermined character combination such that an anchor is assigned upon recognition of said predetermined character combination.
26 . The communication server according to claim 24 , wherein the predetermined character combination is a string of predefined characters.
27 . The communication server according to claim 24 , wherein a set of anchors is assigned to a respective piece of data, each anchor from the set is in correlation to an n-tuple location in said respective piece of data, and wherein the function is a hash function yielding a predefined value over the n-tuple.
28 . 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 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;
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; replacing references to the location of pieces of data in the incoming data stream with respective pieces of data in said previously stored data block.
29 . The method of claim 28 wherein said data block comprises a plurality of packets; said data range for calculating said digital signature identifying said data block is located in a first packet of said plurality of packets; the method comprising: replacing pieces of data in at least one other packet of said plurality of packets in said data block, said at least one other packet are received later than said first packet.
30 . The method of claim 28 wherein the data range consists of a number of bytes which is independent of block size.
31 . A system configured to reduce data transportation volumes over a communication network, comprising at least a first communication server being 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 a 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; 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.
32 . The system of claim 31 further comprising said second communication server the second server being operable to replace said references to the location of respective pieces of data in the reconstructed data stream with respective pieces of data from a previously stored data block.
33 . The system according to claim 31 wherein said data block comprises a plurality of packets; said data range for calculating said digital signature identifying said data block is located in a first packet of said plurality of packets;
said replacement unit is configured to replace pieces of data in at least one other packet of said plurality of packets in said data block, said at least one other packet are received later than said first packet.
34 . The system according to claim 31 wherein said data range consists of a number of bytes which is independent of block size.
35 . A method of reducing data transportation volumes over a communication network comprising at least a first communication server being configured to deliver a data stream to a second server over a communication network, the method comprising:
accessing a non-transitory computer readable media, at the first communication server, containing instructions for controlling a computer system for: determining at least one anchor in a 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; calculating 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; replacing 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 forwarding the reconstructed packet to be transmitted to the second communication server.
36 . The method of claim 35 wherein said data block comprises a plurality of packets; said data range for calculating said digital signature identifying said data block is located in a first packet of said plurality of packets;
said replacement unit is configured to replace pieces of data in at least one other packet of said plurality of packets in said data block, said at least one other packet are received later than said first packet.
37 . The method of claim 35 wherein the data range consists of a number of bytes which is independent of block size.
38 . A computer readable media containing instructions for controlling a computer system to implement a method of 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 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;
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; replacing references to the location of pieces of data in the incoming data stream with respective pieces of data in said previously stored data block.
39 . A computer readable media containing instructions for controlling a computer system to implement a method of a method of reducing data transportation volumes over a communication network comprising at least a first communication server being configured to deliver a data stream to a second server over a communication network, the method comprising:
accessing a non-transitory computer readable media, at the first communication server, containing instructions for controlling a computer system for: determining at least one anchor in a 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; calculating 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; replacing 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 forwarding the reconstructed packet to be transmitted to the second communication server.Join the waitlist — get patent alerts
Track US2013346565A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.