Cross-layer optimization

Cross-layer optimization is an escape from the pure waterfall-like concept of the OSI communications model with virtually strict boundaries between layers. The cross layer approach transports feedback dynamically via the layer boundaries to enable the compensation for overload, latency or other mismatch of requirements and resources by any control input to another layer, but that layer directly affected by the detected deficiency.

Strict boundaries between layers are enforced in the original OSI networking model, where data is kept strictly within a given layer. Cross‑layer optimization removes such strict boundaries to allow communication between layers by permitting one layer to access the data of another layer to exchange information and enable interaction. For example, having knowledge of the current physical state will help a channel allocation scheme or automatic repeat request (ARQ) strategy at the MAC layer in optimizing tradeoffs and achieving throughput maximization.

Especially in information routing with concurrent demand for limited capacity of channels there may be a need for a concept of intervention to balance between e.g. the needs of intelligible speech transmission and of sufficiently dynamic control commands. Any fixed allocation of resources will lead to a mismatch under special conditions of operations.[clarification needed] Any highly dynamic change of resource allocation might affect the intelligibility of voice or the steadiness of videos. However, as with other optimizing strategies, the algorithm consumes time as well.

Principles

There are principles that a cross-layer design must adhere to:

·         Interactions and the Law of Unintended Consequences

·         Dependency Graph

·         Timescale Separation and Stability

·         The Chaos of Unbridled Cross-Layer Design

Unlike a traditional architectural design approach, where designers can focus on a single problem without worrying about the rest of the protocol stack, one must be careful to prevent unintended effects on other parts of the system. Dependency graphs are helpful for adaptation loops that occur using cross-layer design.