Liquid Data Networking
Packet loss often occurs when transmitting over wireless links, due to interference, intermittent obstacles, routing changes as conditions vary, etc. As examples, interference and the resulting packet loss are major concerns as the Internet is extended using wireless mesh networks, 5G millimeter wave transmission is known to be prone to packet loss with even the slightest obstruction, and slight variations in atmospheric conditions cause packet loss in laser communications between ground stations and drones or satellites.
Internet mobility is projected to become more common, e.g., extensions to automobiles and drones, LEO Cubesat deployments, and a growing fraction of the population relying on mobile devices for internet connectivity. At least some data packets delivered into oblivion due to mobility is unavoidable, e.g., packets in transit are lost as clients transition from one set of connections to another, or links reconfigure and packets are lost as wireless routers/caches reconfigure.
Long round-trip times exacerbate packet loss issues, since the cost of data lost in delivery is much higher and retransmission protocols are much less relevant. This becomes more of an issue as internet extensions to satellites becomes more pervasive, and longer term as an interplanetary internet become more important.
We introduce a design of an internet based on a fountain code, which we hereafter refer to as Liquid Data Networking. In the Liquid Data Networking design, objects are efficiently and transparently encoded into liquid data using a fountain code, i.e., the data generated by a fountain code from an object is called liquid data, since any sufficient amount of such data is interchangeably sufficient to recover the original object. Network transport using liquid data naturally decouples reliable delivery from congestion control, and seamlessly facilitates anycast, multicast, and parallel downloads. Liquid Data Networking can be realized to be backward compatible with a TCP/IP network stack, and also realized to be forward compatible with future Internet architectures. The potential of Liquid Data Networking hinges on an efficient and scalable fountain code; we argue that the RaptorQ code (see IETF RFC6330) is an ideal fountain code candidate. The Liquid Data Networking design integrates fountain codes with an object layer that names, manages and transports liquid data in the network; while efficiently translating between objects and liquid data at the edge and within the network.
Liquid Data Networking provides substantial benefits. For example, quick downloads of large images and multimedia content, progressive downloads of video streams (e.g., Youtube) and high-quality video streaming using higher level protocols such as MPEG-DASH streaming are all well supported. The amount of liquid data delivered to recover an object is not much more than the object size. The protocols are simple, robust, and provide a high quality of service. Liquid Data Networking works seamlessly and efficiently when there is packet loss, mobility, long latency paths, and infrastructure that may intermittently fail.
Funded by NSF #1936572.