middleware abstractions for cross-layer controlled media streaming
Efficiency, quality, and robustness of multimedia delivery over best-effort packet networks can be improved by advanced streaming protocols. This comes, however, at the cost of increased application complexity because existing solutions require close cooperation between transport layers and applications to perform effective adaptations. Media encoders have to become network-aware while transport layers need to consider certain properties of the data they deliver, such as the unequal importance of data units and their timing constraints. Today's adaptive streaming systems are developed jointly, customising encoders, protocols and surrounding code for a specific application. This heavily restricts the reuse of protocol implementations for other encoding formats, different application requirements and network environments. In order to enable reuse and simplify the integration of advanced streaming protocols into applications, we propose the Noja programming model for multimedia middleware layers. Noja's abstractions leverage protocol coordination and provide selective transparency features to effectively hide complexity, but expose necessary control options to application developers. Based on examples we show that Noja is applicable to a broad range of multimedia streaming applications and beyond that to data streaming applications in general.
media streaming content-aware protocols cross-layer cooperation communication abstractions