Title: What is "crossflow compression"?
Tags: compression;wan
Question: I came across the term "crossflow compression" several times while reading about WAN optimization techniques. The only elaboration I've seen is that it refers to "compression across various flows", which wasn't very helpful.

Can anyone give an example of what "crossflow compression" is?

Comment: Yes, that was the website I found that refers to "compression across various flows". Thanks for your reply, though!

Comment: Perhaps the explanation given in http://www.bcs.org/content/ConWebDoc/6849 (Section Compression) will give you a hint.

Here is the accepted answer: Basically a flow is a set of packets out of a stream that have something in common.

It's easy to determine flows with protocols like TCP that have sequence numbers, specifically tag packets with them, and are connection oriented. 

UDP based protocols require the WAN accelerator to work harder since nothing "built-in" is keeping track of the flow.

Let's say you are caling someone using a UDP-based VoIP protocol, to a remote office bridged by two WAN accelerators, and the line is silent for 20 seconds.  So, during this time, your VoIP protocol is basically transmitting a flow of empty VoIP packets - with a header and other overhead.  Crossflow compression sounds like it would be able to recognize this flow, and compress accordingly (perhaps instead of a whole UDP packet containing data representing no sound, it just sends a single byte representing that packet - the "flow" comes into play where the WAN accelerator knows this byte "stands for" data in your VoIP call.)

The VoIP example is likely not the best but hopefully you get the general idea.

Comment for this answer: In this case, would the compression still be applied packet by packet, or across the entire flow, i.e. multiple packets at once? If the former, why call it "crossflow compression"? What's the difference between "crossflow compression" and "regular" compression, which I assume is applied on a packet-by-packet basis?
Comment for this answer: Hmm... It's starting to make more sense now. Thank you for the explanation!
Comment for this answer: Across the entire flow.  That's why it's called "crossflow."  So the WAN accelerator may receive multiple packets comprising the flow, but not actually transmit that many packets to the other WAN accelerator on the other side.  Standard compression would be per-packet.  Probably a better example would be a file transfer - if WAN accelerators A and B had enough cache and the algorithms were intelligent enough, it may "crossflow compress" an entire potential sequence of SMB packets into a simple packet telling the other WAN accelerator that a particular system on that end wants a cached file.


{'source': 'StackExchangeDataset', 'subset': 'superuser.com', 'metadata': {'AnswerCount': 1, 'CommentCount': 2, 'ContentLicense': 'CC BY-SA 3.0', 'CreationDate': '2013:00:06/05/13', 'FavoriteCount': None, 'PostTypeId': 1, 'Tags': '<compression><wan>', 'Title': 'What is "crossflow compression"?', 'ViewCount': 68, 'id': 603938, 'user_AboutMe': None, 'user_AccountId': 100116.0, 'user_DisplayName': 'Rayne', 'user_Reputation': 541.0, 'user_Views': 117.0, 'user_id': 33680.0}}