Enhanced Transport Protocol

Design of the Enhanced Transport Protocol

Philosophy of ETP
Combining both the strengths of hierarchical and non-hierarchical protocol composition frameworks, the Enhanced Transport Protocol (ETP) defines an hybrid approach where a hierarchical plane implements QoS control functions and a non-hierarchical plane performs QoS management functions. In other words, per packet actions are performed following a hierarchical model while operations related to the management of the connection follow the event driven paradigm. This approach allows to clearly separate the different planes that contribute in providing a given transport service.
Given the highly demanding applications that evolve on actual networks (VoD, VoIP …) the Transport service must be able to provide a service that totally fulfils these applications’ requirements. The modular approach introduced by both the hierarchical and non-hierarchical propositions provides an effective way to satisfy a wide variety of applicative requirements by way of composing and fine-tuning different well identified transport functions (building blocks).

Image

ETP use cases
ETP offers a basic API that looks like the existing Transport protocol (TCP, UDP) APIs in JAVA. So, ETP is used by the application to create a socket and then, to send data through it.
Another ETP use case instantiateComposition, that is an improvement of basic Transport API, is the possibility for the Application to directly provide a composition of ETP services (called Processing Modules in the ETP terminology).

Image

ETP features
As presented before, ETP is a configurable protocol. The example given on  the figure below describes a composition of processing modules with ETP, that provide a Transport service including a congestion control (TFRC) coupled with an error control mechanism for partial reliability.
In order to provide this service, a Rate Control processing module and a Buffer Retransmission processing module are deployed at the sending side, and a ProcessIN processing module and a Loss Detection processing module are deployed at the receiving side. In the Management plan, a ProcessFeedback processing module has to be deployed in order to manage these different processing modules.

Image