US2013346565A1PendingUtilityA1

Communication server, method and systems, for reducing transportation volumes over communication net works

Assignee: DIVINETWORKS LTDPriority: Mar 2, 2004Filed: Aug 23, 2013Published: Dec 26, 2013
Est. expiryMar 2, 2024(expired)· nominal 20-yr term from priority
Inventors:Shaul Hayim
H04L 65/60H04L 63/123H04L 67/56H04L 65/70H04L 65/1101H04L 65/765H04L 67/568H04L 67/06
27
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 - 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.