High Performance File Transfer Protocol, May 2003

FOBS: Fast Object Based Data Transfer System: (A High Performance UDP based Application level File Transfer System with Java GUI and command line modes)


Advances in networking technologies have led to the deployment of networks capable of sending at up to 40 gigabits per second. Concurrently, research on Grid computing, has facilitated collaboration among geographically distributed researchers. This confluence of Grid-based computing and networking technologies is making possible high-performance applications to solve massive problems in a variety of fields, including genome research, geophysics, astronomy and astrophysics, tele-immersion, and medicine. Experience with existing computational Grids shows, that applications are able to only utilize 10 percent or less of the available bandwidth. This is because TCP (Transmission Control Protocol), the default data transfer protocol, is not designed for high-bandwidth, high-delay network environments.

Our alternative, called FOBS, (Fast Object Based System), is a highly efficient, lightweight application level data transfer mechanism developed for high-bandwidth, high-latency networks. FOBS is an application level mechanism that uses User Datagram Protocol (UDP) and Transmission Control Protocol (TCP). Because it is UDP based, reliability has to be built in at the application-level, including an acknowledgment and re-transmission mechanism. FOBS has been shown to achieve up to 90% of the available bandwidth across both long and short haul networks. However, early versions of FOBS were not able to scale to very large data sets and higher bandwidth networks, and bandwidth utilization was not the best possible. Two factors were responsible. First, the acknowledgment mechanism did not perform well as the size of the data sets increased. Second, the early versions did not implement any form of rate or congestion control. These two factors made it impossible for FOBS to be deployed for transferring large data sets in a non-dedicated environment, as the packet loss was unacceptably high.

This thesis describes the design and technical issues were addressed to overcome the critical deficiencies in the initial FOBS system. In particular, the thesis describes various techniques for acknowledgment and retransmission. The rationale for the changes is also explained, and it is shown that the best technique performs well across all the networks tested. The result of this aspect of research is a user-level acknowledgment and retransmission mechanism that provides excellent performance over any data set size and any bandwidth. The adopted design is also shown to scale to higher bandwidth high performance networks. The size of the data set and the cost of acknowledgment and retransmission have been decoupled. FOBS now utilizes up to 95 percent of the maximum. This thesis also describes a new rate and congestion control mechanism, which is shown to keep the data loss between 0 and 2 percent, well within acceptable boundaries. As a result of this research, FOBS is now a highly efficient, highly scalable application-level mechanism usable in generic high-performance networks.


How To Install and Run Fobs

  • Work in Progress FIXME

QR Code
QR Code projects:fobs (generated for current page)