1

假设情况:

主机 A 可以以每秒一位的速率向主机 B 发送信息。

主机 B 可以以每秒 1 TB 的速率向主机 A 发送信息。

您想从 A 向 B 发送 1 GB 的随机信息。

你会怎么做?

有没有办法利用 B -> A 来加速 A -> B?

4

1 回答 1

0

我可以想象某种分布式数据压缩方案。通常,在数据压缩中,发送方 (A) 确定数据中频繁和不频繁比特序列的编码。在霍夫曼编码中,结果是霍夫曼树。

但是,在您的情况下,如果接收者B 可以仅在发送者 A 的帮助下确定编码,那将是有利的。

实现这样的事情的最简单的方法可能是让接收者B“蛮力”位序列,将它们传输给发送者 A,直到发送者 A 确认正确的序列已被“猜测”。

更聪明的方法是使用一些二进制搜索来确定发送方的数据,发送方的“0”或“1”响应告诉接收方在树中走哪条路。

也许也可以看看算术编码

但这只是假设,因为必须考虑发送方和接收方的往返时间,其中低 RTT 意味着更高的数据速率,反之亦然,因此,实际上,人们不会找到可以仅发送 1bps 但 RTT 为例如 1ms。

于 2013-08-25T18:56:29.397 回答