S-38.3310 Thesis Seminar on Networking Technology Design and Implementation of Mobile Peer-to-Peer Application Juuso Lehtinen juuso@netlab.hut.fi Thesis written at Networking Laboratory, Department of Electrical and Communications Engineering, Helsinki University of Technology Author: Juuso Lehtinen Supervisor: Prof. Raimo Kantola Instructor: Nicklas Beijar, Lic.Tech. Agenda Introduction The Problem Objectives Research Questions Methodology Background Client-Server Architecture Peer-to-Peer Architectures Mobile Peer-to-Peer Application Requirements for Mobile Peer-to-Peer Design and Implementation Measurements Conclusions Further Research Possibilities July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 2 Introduction Today, 60-80% of all Internet traffic is peerto-peer Services seen traditionally only in the fixed networks are becoming available in the mobile networks too as the mobile terminals get more powerful Users want to be able to share content on their mobile phones regardless place or time July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 3 The Problem – User Perspective No convenient way to share information between phones The content must be uploaded to be available, even though there is no knowledge if anyone will ever download it Search for the content must be done manually if the location of the content is not known in advance July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 4 The Problem – Operator Perspective Operator has to maintain a centralized server which holds the content The storage server costs money, is a single point of failure, and has hard time dealing with the flash crowd phenomenon Possible revenues are lost because the operator is not able to provide users effective way to share content July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 5 Objectives (1/2) The objective of the thesis is to find out how to efficiently realize a peer-to-peer file sharing application for mobile phone networks and effectively allow users to share and acquire content which is saved in their and their friends’ mobile phones The software has to be efficient on resource usage, both on those of the handset and the network, and use the already existing (and upcoming) network infrastructure as much as possible to allow easy development and deployment July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 6 Objectives (2/2) The Session Initiation Protocol (SIP) is used as the underlying signaling protocol Use of SIP allows easy integration with the future IMS networks Charging and billing for the application can be easily implemented in the SIP-aware core network July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 7 Research Questions Does a modern mobile phone have enough resources to run the peer-to-peer application? Is SIP a suitable protocol for peer-to-peer signaling? Is the software performance satisfying in user perspective? July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 8 Methodology Literature study Comparison of different peer-to-peer architectures Special needs for peer-to-peer imposed by mobile environment Design and Implementation of mobile peer-to-peer application Performance measurements July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 9 Agenda Introduction The Problem Objectives Research Questions Methodology Background Client-Server Architecture Peer-to-Peer Architectures Mobile Peer-to-Peer Application Requirements for Mobile Peer-to-Peer Design and Implementation Measurements Conclusions Further Research Possibilities July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 10 Client-Server Architecture One high-performance server holds all the content in the network Owner of the server has full control on the shared content Multiple clients share content via the centralized server July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 11 Peer-to-Peer Architectures Unstructured peer-to-peer architectures Centralized architecture Decentralized architecture Hybrid architecture Structured peer-to-peer architectures Based on DHT-algorithm Wildcard searches are not possible Exact name or hash for the searched content must be known July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 12 Centralized Peer-to-Peer Architecture A centralized server, or a cluster of servers holds information about the files available on the clients Owner of the server has high control on content The clients transfer content directly without the server involvement The server is used only for content searches July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 13 Decentralized Peer-to-Peer Architecture All nodes are equal in the network – There is no centralization No single node has control over the content shared by the other users Searches are done by flooding search requests in the network Downloads are executed in peer-topeer fashion July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 14 Hybrid Peer-to-Peer Architecture Ordinary clients are connected to super-peers as in centralized peer-to-peer architecture A super-peer has high control on content shared by ordinary nodes connected to it Super-peers are connected to each other in decentralized manner Super-peers do not have control on content announced by the other super-peers Downloads are executed in peer-to-peer fashion July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 15 Agenda Introduction The Problem Objectives Research Questions Methodology Background Client-Server Architecture Peer-to-Peer Architectures Mobile Peer-to-Peer Application Requirements for Mobile Peer-to-Peer Design and Implementation Measurements Conclusions Further Research Possibilities July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 16 Requirements for Mobile Peer-to-Peer (1/2) Technical Constraints Memory size CPU performance Screen and keyboard size Battery capacity Access Network Parameters Limited bandwidth shared between multiple users in the same cell July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 17 Requirements for Mobile Peer-to-Peer (2/2) Special Needs of Mobile Environment Support for various access networks Operator control Feasible bandwidth pricing User Requirements Quick response times Rapid downloads Group management features for sharing private content Lot of content is probably self-created, like pictures/videos taken with camera-phone July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 18 Optimal Architecture Hybrid architecture optimal for mobile use Minimizes signaling load on the air interface Allows operator to have control on content by controlling the super-peer Multiple operators can network super-peers in peer-to-peer fashion still retaining quite high autonomy Super-peer can be also operated by private entity, e.g. family or sports club July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 19 Design and Implementation of MP2P Hybrid peer-to-peer architecture was chosen for implementation Software was implemented in C++ on Nokia Series 60 Platform SIP functionality is provided by phone’s built-in SIP-stack July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 20 Implementation Software is designed to be modular so it can be easily enhanced Client consists of four modules: Finder, Register, Transfer, and Graphical User Interface Chatting and streaming modules are to be implemented in near future July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 21 SIP Requests Used for Peer-to-Peer Signaling INVITE – Content search and download session establishment MESSAGE – File-list updates to superpeers Search and file-list update messages have all content information encoded in XML to enable easy parsing and extension of the format in the future July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 22 Use Case – Search and Download July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 23 Measurements Both signaling delays, and file transfer bandwidth were measured All measurements were conducted in 3G/WCDMA network Search delays were measured to be under 700ms in most of the cases Signaling delays for download session set-ups were measured to be under 1.5s File transfer speeds were around 11kB/s This is restricted by the available upstream bandwidth in the mobile network (upstream 128kbit/s, downstream: 384kbit/s) July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 24 Agenda Introduction The Problem Objectives Research Questions Methodology Background Client-Server Architecture Peer-to-Peer Architectures Mobile Peer-to-Peer Application Requirements for Mobile Peer-to-Peer Design and Implementation Measurements Conclusions Further Research Possibilities July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 25 Conclusions The working prototype application proves that peer-to-peer file sharing can be implemented on mobile platform The user perceived performance of the application is close to the performance seen in applications in fixed networks The SIP signaling is suitable for mobile peer-topeer use. The protocol overhead is not a problem in the modern cellular networks. July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 26 Further Research Possibilities Grouping / clustering mechanisms for peer-to-peer content sharing Caching of popular files into the fixed network to reduce load on the air interface Trust, reputation, accountability, security, and interoperability issues in the mobile peer-to-peer context July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 27 Thanks for patience! Questions? Contact: juuso@netlab.hut.fi References: 1. 2. M. Matuszewski, N. Beijar, J. Lehtinen and T. Hyyryläinen, Mobile Peer-to-Peer Content Sharing Application, in IEEE Consumer Communications and Networking Conference, CCNC2006, 2006, Las Vegas, Nevada, USA N. Beijar, M. Matuszewski, J. Lehtinen and T. Hyyryläinen, Mobile Peer-to-Peer Content Sharing Services in IMS, in The International Conference on Telecommunication Systems, Modeling and Analysis 2005, ICTSM2005, 2005, Dallas, Texas, USA July 24, 2016 S-38.3310 Thesis Seminar on Networking Technology 28