This approach requires higher control over the peding pieces, but would lead to much better performance. Bulk data retrieval: request several pieces to the swift swarm, so libswift can work on a longer set of bins to acquire.This is the simpler approach but probably the obtained performance would be very low. Opportunistic piece retrieval: request only one piece from the swift swarm at a time, as if the whole swarm was only one BitTorrent peer.Taking into account the constraints of libswift about bin requesting from external tools, several piece retrieval mechanisms could be used when running Tribler and libswift: The idea for this first integration is to keep BitTorrent as the main transfer protocol, so swift needs to adapt to the BitTorrent operation. Multi-protocol piece retrieval techniquesĬonsidering BitTorrent and swift were independently designed, each protocol has its own features and its operation mode. swift data bins are 1 KByte long, while BitTorrent uses variable size pieces, split in 16 KBytes chunks.Ī piece retrieval coordination mechanism must be designed in order to correctly coordinate both protocols, so the same client can obtain and share all parts of the file from and to both swarms at the same time. In this case, swift would work as a transfer boost, increasing the overall available bandwidth.ĭifference in piece sizes between BitTorrent transfers and swift bin system is also an issue to solve when joining both protocols. UDP transfers should back off in front of others, but it would be interesting to discover if LEDBAT efficiently uses the remaining bandwidth. Due to its design, LEDBAT always yields to other connections, so it is not possible to prioritise its transfers in front of other TCP transfers (which controversially would go against its main design principle).ĭiscover how LEDBAT behaves when sharing the link with legacy BitTorrent TCP transfers. Thanks to the use of the new congestion control algorithm (LEDBAT) Tribler should be able to use all the upload bandwidth without disturbing the user. Once the implementation is working and testing several scenarios, some questions could be answered. Several issues need to be faced when building the protocol integration into Tribler. The code of the implemented modules (/tribler), the modifications done in Libswift (/swift) and the documentation (/doc) can be found on . For further and detailed information, please refer to the attached PDF report. This page is intended to be an extended abstract of the whole report. To understand the concepts behind this work, the reader should be familiar with the regular BitTorrent operation (especially Piece Picking techniques used in Tribler) and know in detail the concepts behind the swift protocol (such as Binmaps, LEDBAT, Merkle Hash Trees and the messages of the protocol). Thanks to this new development, Tribler should be able to use the new transport protocol and obtain data from the swift swarms. The goal of this work was to build a first implementation of the integration of the novel swift protocol into the current Tribler BitTorrent client.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |