From the sender's viewpoint, the combined underlying data delivery medium and the receiver(s) can be viewed as a global system endowed with absorption capacities. But how could a sender dynamically adjust its data transfer rate to best match the apparent residual absorption capacities of this system? To resolve this question, use could be made of the concept of saturation curves whereby a system responds linearly (or almost) to increasing load and then yield. The purpose of this report is to investigate the rate control mechanisms and the rate control performance capabilities of one implementation of the Xpress Transport Protocol (XTP) - SandiaXTP. The structure of SandiaXTP as a whole, and also more particularly its rate control mechanisms, are analysed with the help of Object Modeling Notation (O.M.T.). Some changes to the rate control algorithm are proposed, followed by the presentation and interpretation of 26 unicast and multicast rate control experiments done in a LAN environment. The study shows that rate control with a user level implementation such as SandiaXTP needs careful consideration of many factors if the quality of the rate control effectively exercised by the software should meet the expectations.