First page Back Continue Last page Overview Graphics

Software Architecture


Notes:

The protocol architecture naturally evolves into the software architecture of the UDT implementation. This diagram illustrates the structure inside one UDT instance. In addition to the sender and the receiver, an API module is used to interact with applications, and a UDP channel module is used to transfer packets over UDP. Furthermore, buffer management modules are necessary at both the sender and the receiver sides.

At this point a traffic flow can be set up between two UDT instances.

However, to add reliability control and congestion control onto UDP, we have two modules to manage packet loss information at both sides, and a congestion control module at the sender side to tune packet sending rate. Now this is an almost complete UDT instance. Control information is passed among these modules.

Applications can set and read UDT options through the API module, whereas such configuration commands are further passed to the other related modules.

A listener is needed to support the listen/accept server mode. Finally, applications will be able to control the congestion control module to configure specific control algorithms. We will describe this in the Composable UDT section.