Background on QUIC Streams and QUIC Datagrams

We have collected some background on QUIC Streams and QUIC Datagrams which are both available in NICE DCV high-end remote desktop to enable highly interactive remote desktop streaming also in case of high latencies:

QUIC Streams:

  1. Reliable Transmission: QUIC streams provide a reliable transmission mechanism. Data sent over a QUIC stream is guaranteed to arrive at the destination without corruption and in the order it was sent, similar to TCP.
  2. Ordered Delivery: QUIC streams ensure that data is delivered in the order it was sent. This is crucial for certain types of data, like files or HTML documents, where order matters.
  3. Flow Control: Each stream in QUIC is flow-controlled independently. This means that a receiver can apply back-pressure on a per-stream basis, preventing a sender from overwhelming it with too much data.
  4. Multiplexing: Multiple streams can be multiplexed over a single QUIC connection. This allows for efficient use of the connection, reducing the overhead and latency associated with establishing multiple connections.
  5. Use Case: Ideal for scenarios where data integrity and order are critical, such as web page loading, file transfers, and API calls.

QUIC Datagrams:

  1. Unreliable Transmission: QUIC datagrams provide an unreliable transmission mechanism. This means there’s no guarantee that data sent will arrive or that it will arrive in the order it was sent.
  2. Unordered Delivery: There is no inherent ordering in the delivery of datagrams. Each datagram is independent of the others.
  3. No Flow Control: Datagram transmission is not flow-controlled. This makes them suitable for use cases where it’s okay to lose some data, and it’s more important to minimize latency.
  4. Efficiency in Specific Scenarios: They are efficient for use cases where transmission speed is more critical than reliability, such as real-time video or audio streaming, gaming, or live broadcasting.
  5. Use Case: Ideal for scenarios where low latency is more important than reliable delivery, and the application can tolerate some degree of data loss.

Summary:

  • QUIC Streams are used when reliability and ordered delivery are important. They’re similar to TCP but without head-of-line blocking issues and with better multiplexing capabilities.
  • QUIC Datagrams are used for cases where speed and low latency are crucial, and some data loss is acceptable. They are more similar to traditional UDP.

Free trial of NICE DCV high-end remote desktops is available – just head over to NICE DCV.