http://qs321.pair.com?node_id=11136212

tomasz has asked for the wisdom of the Perl Monks concerning the following question:

I have a problem I've been trying to solve, but must be too weak for it mathematically. Here it is.

In the standard download procedure, the server sends the file down to the client, either in it's normal, literal state, or compressed. Now, what if I want to push the downlink load even further down (1)? As the server, I'd rather have the client be more active asking me questions, limiting myself to as few and as short answers as possible. So I'm trading server (2) network down-link transfer for computation on both ends. And the question is: what are the optimum points here?

Certainly the absolute minimum would be for the server to have all possible values sent up to it and then just answer yes once, when the right question arrives, leaving all the wrong values unanswered - assuming reliable network transfer and some decisive timeout. But what other options are there?

My edits are in bold with edit numbers in brackets next to them.