University essay from KTH/Skolan för informations- och kommunikationsteknik (ICT)

Author: Fu Tang; [2012]

Keywords: ;


More and more end-users are using P2P protocols for content sharing, on-demand and live streaming, contributing considerably to overall Internet trac. A novel P2P streaming protocol named libswift was developed to enable people experience a better service by consuming less resources and transferring less unnecessary functions and metadata. This master thesis studies the inner functioning of libswift and analyzes some of the vulnerabilities that directly impact performance of the protocol, namely download speed and response delay.

By investigating the behavior of libswift in scenarios with multiple peers, we found that the lack of a peer selection mechanism inside the protocol aects download eciency and response time. We also discovered that libswift's internal piece picking algorithm raises competition among peers, thus not fully utilizing connected peers. In addition, we found that current libswift implementation does not follow the specication for PEX peer discovery, thus we modied PEX algorithm to support another message that is used to proactively request new peers from the currently connected.

Having made these observations, we designed and implemented a peer selection extension interface that allows for third-party peer selection mechanisms to be used with libswift protocol. Apropos, we tested the interface (or adapter) with an example peer selection mechanism that groups peers according to properties such as latency and locality. Preliminary experimental data shows that using our extension with an external peer selection mechanism enables libswift to select peers based on various metrics and thus enhances its download speed.

We argue that libswift is a good protocol for next generation content delivery systems and it can get faster data transfer rates and lower latency by integrating ecient peer selection mechanisms.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)