See: Splitting and Joining Information Flow.
When we split information into a streams or channels, we should address problem of lost packets somehow.
That's why we can use Packet Registry, where arrived packets are kept. If stream(s) or channel(s) is (or are) lost, we can dynamically create new stream(s) and/or channel(s), retransmitting lost packets via them.
Vertical boxes form Packet Registry. Glowing boxes are data packets. When they are arriving they are part of a data stream. Then they are placed in Packet Registry.
Movie & Source Code