VFER

High Performance data-transfer in user-space.


VFER is a portable, user-space tool for high-performance data transport. VFER enables the use of advanced congestion control without kernel modifications. Two modes of use are supported: stand- alone file transfer tool and use as a library for multimedia and other complex applications that currently use simple UDP and can benefit from congestion control. The stand-alone file transfer tool uses normal SSH credentials users already have. VFER uses advanced TCP-friendly congestion control that, by taking delay into account, quickly recovers from non-congestive packet loss. The `V' in VFER stands for `velocity' and `FER' is from the Latin `fero,' to carry, which appears in words such as `transfer.'

November 17, 2006
SC'06 Bandwidth Challenge Finalist Presentations
The VFER presentations made for the bandwidth challenge are now online. These presentations give an overview of and motivate the VFER protocol. You can download the two presentations at [1] and [2].
November 7, 2006
VFER is a Bandwidth Challenge Finalist at SuperComputing2006!
If you are attending SC'06, please come by to meet the people behind VFER and to learn more about out VFER either at the Internet2 booth (#1451) or at the presentation/demo.
August 18, 2006
VFER 0.98 Released.
This release includes work by two summer of code students- Nikolaus Rath and Andrew Lake. Nikolaus added secure socket support to VFER by implementing an authentication layer that uses existing SSH keys and has worked on a file transfer tool to use this secure layer, more work is under way to provide a Diffie-Hellman key exchange and encryption to future VFER releases. Andrew implemented a path MTU discover algorithm that is robust to the black hole scenario and is capable of converging rapidly to an optimum value. The delay based congestion control now uses a somewhat different algorithm and there have been numerous bug fixes. Work is ongoing to fix outstanding issues in the implementation.
July 17, 2006
VFER 0.97 Released.
The 0.97 release features an experimental delay based congestion control, new features, and many fixed bugs. The congestion control has been rigorously tested in LAN and WAN environments and looks very promising for future study. This release also features the merged code from Nikolaus Rath's summer of code project implementing authentication and encryption as part of VFER. Check out the VFER from CVS if you would like to compile and use that code. This release has been tagged as 'release_0_97' on the hosting Internet2 CVS server.
May 30, 2006
We are pleased to announce that three new students will contribute towards the VFER project over this summer through Google's Summer of Code program. Projects include authentication and encryption support, dynamic PMTU determination, and a VFER simulator module for ns2. To find out more about the students and their summer projects, take a look at the participants page.
May 15, 2006
VFER 0.96 Released.
This release finalizes many simplifications to the architecture of the implementation. Of note: there is one library thread managing all of the protocol logic, vfer fds (typedef int) are now used in all vfer library calls by the client to refer to vfer sockets, and lastly the closing handshake has been simplified a great deal while the initial handshake has been made to be more failsafe. These changes make future development easier and speed up the implementation. The internal congestion control and the protocol haven't been changed in this release. You can download this release here. The doxygen documentation has received some extra effort and is now up to date. The protocol specs on the other hand need to be revised and are unreliable. This release is tagged as 'release_0_96' in the cvs.
May 11, 2006
The doxygen documentation has been updated. It has been a long time since doxygen has been generated for the implementation. Of recent, VFER has experienced a large code clean up, mostly due to removal of a number of pthreads that were bad for performance. The docs generated from the current cvs are somewhat different from 0.95 release so beware, a more up to date VFER 0.96 release is just around the corner.
May 8, 2006
VFER 0.95 Released.
This is a long awaited release that includes many improvements to all parts of the code. The release contains a fully functional file transfer client and server that report transfer speeds. The protocol uses a TCP-like AIMD congestion control and performs fairly well on large files (approx 60Mb/s data rates over 100Mb link in LAN environments and up to 80Mb/s over 100Mb link in WAN environments, although results may vary :-) Please download the release here and make sure to let us know what you think.
May 7, 2006
Internet2 is participating in Google's Summer of Code 2006. Stanislav Shalunov is again open to mentoring a number of student projects, many of which involve extending and improving VFER! If you are interested in participating, have a look at the projects page. Applications are due May 8.
February 20, 2006
VFER 0.94 Released.
This release includes a big test suite which contains new and old unit tests that have been made much more rigorous. There are new layers to manage the emerging congestion control algorithm, and to simplify management and testing. Congestion control is still in its infancy, but delay measurements are recorded and stored efficiently in a moving window style data structure. Finally, this release also includes file transfer daemon/client utilities to test the protocol for reliable transfer. The utilities support scp-style syntax and have been tested on a variety of file sizes. VFER has been tested on Linux and OSX platforms. The online doxygen documentation has been updated. You may downdload the release here.
February 16, 2006
Documentation update. The latest doxygen image of the project has been generated and uploaded to the website. You can find it here. The next version of VFER which includes a file transfer server/client application and delay based CC is planned for release before the end of the month.
November 7, 2005
VFER .91 Released!
The second beta version has full reliability, a better build process, and runtime debugging control via vfer_debug(). The code has been tested on Darwin and Linux. Download it here. Along with the new release, a new revision of specs has been also posted.
November 1, 2005
The project received a new name: VFER. The old homepage and CVS repository will not be maintained. Please check CVS instructions posted under the Prototype section of the website.
October 15, 2005
FB-FR-CCP 0.9 Beta has been released. You may download it here.
October 6, 2005
A library make target has been added, and the first release will be out in a few days.
Septemeber 2, 2005
Google's Summer of Code program officially finished yesterday. Since then, the project has come a long way, and it will continue this fall with rejoint support of Internet2. A new version (1.7) of protocol specifications has been uploaded, and the doxygen docs have been updated to reflect the code in the repository. At the moment, the implementation can transfer files and, tests for all the disjoint layers work correctly. Congestion control will receive more work in the specs and will then be integrated into the implementation. Projected date for a working congestion control mechanism in the prototype is two weeks into november.
July 30, 2005
Doxygen docs for the project have been updated, you can find them here
June 29, 2005
Google's Summer Of Code application accepted! The mentoring organization is Internet2 and my mentor is Dr. Stanislav Shalunov. Content update: doxygen files, old soc application drafts removed, I2 api linked, participants page added CVS update notifications won't be posted here, browse the CVS to determine whether you are up to date
June 22, 2005
Source Forge Project created & website relocated
June 13, 2005
Final Google Code Writeup (Draft4) posted
Initial source code tarball posted
June 9, 2005
Google Code Writeup Draft3 posted
June 7, 2005
Google Code Writeup Draft1 posted
June 6, 2005
Website Created




Last Updated: August 8, 2006
SourceForge.net Logo Internet2 Logo Google_SOC Logo