DECENTRALIZED FILE SHARING on MOBILE DEVICES Master’S Thesis

DECENTRALIZED FILE SHARING on MOBILE DEVICES Master’S Thesis

OLLI-PEKKA HEINISUO DECENTRALIZED FILE SHARING ON MOBILE DEVICES Master’s thesis Examiners: Asst. Prof. Davide Taibi and Postdoctoral Researcher Valentina Lenarduzzi The examiners and topic of the the- sis were approved on 29 August 2018 i ABSTRACT OLLI-PEKKA HEINISUO: Decentralized File Sharing on Mobile Devices Tampere University of Technology Master of Science Thesis, 52 pages November 2018 Master’s Degree Programme in Information Technology Major: Pervasive Systems Examiners: Asst. Prof. Davide Taibi and Postdoctoral Researcher Valentina Lenarduzzi Keywords: decentralization, mobile application, p2p, file sharing Most applications and services rely on central authorities. This introduces a single point of failure to the system. The central authority must be trusted to have data stored by the application available at any given time. More importantly, the privacy of the user depends on the service provider capability to keep the data safe. To remove the central authority a decentralized system is needed. Due to the rapid growth of mobile device usage, the availability of decentralization must not be limited only to desktop computers. This thesis examined the possibility to use mobile devices as a decentralized file sharing platform without any central authorities. This was done by implementing a peer-to-peer file sharing mobile application. InterPlanetary File System was selected as the peer-to-peer network. To evaluate the validity of the approach, network usage and power consumption of multiple different devices was measured while the application was running. The results indicate that mobile devices can be used to implement a worldwide distributed file sharing network. However, the file sharing application generated large amounts of network traffic even when no files were shared. This was caused by the chattiness ofthe protocol of the underlying peer-to-peer network. Consequently, constant network traffic prevented the mobile devices from entering to deep sleep mode. Due to this the battery life of the devices was greatly degraded. Further measurements are needed when the InterPlanetary File System reference implementation is more mature. A paper about the results of this thesis has been submitted to the Seventh IEEE International Conference on Mobile Cloud Computing [36]. ii TIIVISTELMÄ OLLI-PEKKA HEINISUO: Hajautettu tiedostojenjako mobiililaitteilla Tampereen teknillinen yliopisto Diplomityö, 52 sivua Marraskuu 2018 Tietotekniikan DI-tutkinto-ohjelma Pääaine: Pervasive Systems Tarkastajat: apulaisprofessori Davide Taibi ja tutkijatohtori Valentina Lenarduzzi Avainsanat: hajautettu järjestelmä, mobiilisovellus, vertaisverkko, tiedostonjako Useimmat sovellukset ja palvelut ovat riippuvaisia keskitetyistä järjestelmistä. Sovellus- ten käyttäjien on luotettava siihen, että palvelut ovat saatavilla milloin tahansa. Tämän lisäksi käyttäjien tietojen turvallisuus on kokonaan palveluntarjoajan käsissä. Tarve kes- kitetyille palveluille voidaan kiertää täysin hajautetuilla järjestelmillä. Mobiililaitteiden käytön suuren kasvun vuoksi tällaista hajautettua järjestelmää ei voida rajoittaa pelkästään työpöytäkäyttöön. Tässä työssä tutkittiin, onko mobiililaitteita mahdollista käyttää täysin hajautetun tiedos- tojenjakopalvelun alustana. Tätä varten työssä toteutettiin vertaisverkkoon perustuva tie- dostojenjakosovellus mobiililaitteille. Vertaisverkoksi valittiin InterPlanetary File System. Toteutuksen käyttökelpoisuuden arvioimiseksi usean eri mobiililaitteen virrankulutus sekä verkon käyttö mitattiin sovelluksen ollessa päällä. Tulosten perusteella mobiililaitteita voidaan käyttää alustana maailmanlaajuisen hajautetun tiedostonjakoverkon toteuttamiseen. Tästä huolimatta on huomioitava, että kehitetty sovel- lus käytti verkkoa todella paljon. Tämä johtui käytetyn vertaisverkon protokollasta, joka vaihtoi tietoa muun verkon kanssa jatkuvasti. Jatkuvasta verkkoliikenteestä johtuen mitatut laitteet eivät koskaan päässeet lepotilaan, mikä puolestaan johti suureen virrankulutukseen. Tehdyt mittaukset tulisi toistaa, kun käytetyn vertaisverkon referenssitoteutusta on opti- moitu ja kehitetty edelleen. Työn tuloksista on lähetetty tieteellinen artikkeli Seventh IEEE International Conference on Mobile Cloud Computing –konferenssiin [36]. iii PREFACE This thesis is the end result of working and studying at the same time for the past seven and a half years. It was not easy to figure out a good topic but I am happy that I ended upwith this one. While this thesis is my personal work and it was done without external support, I am grateful for the wide industry experience I have gained at the companies at which I have worked during the past years. I would like to thank Assistant Professor Davide Taibi for the feedback during the writing process of this thesis and for the opportunity to summarize the work into a scientific paper. I would also like to express my gratitude to my family and friends. Special thanks to my girlfriend for supporting me during the thesis work. In Tampere, Finland, on 15th November 2018 Olli-Pekka Heinisuo iv CONTENTS 1. INTRODUCTION ................................................................................................. 1 2. THEORETICAL BACKGROUND........................................................................ 3 2.1 Network Architectures ................................................................................ 3 2.2 Peer-to-Peer Overlay Networks ................................................................... 5 2.3 Peer-to-Peer File Sharing ............................................................................ 7 2.4 Trust, Security and Privacy in Peer-to-Peer Networks................................ 10 2.5 Peer-to-Peer in Mobile Environments......................................................... 11 2.6 Modern Peer-to-Peer File Sharing .............................................................. 12 2.7 InterPlanetary File System.......................................................................... 14 2.8 Related Work............................................................................................... 17 3. FILE SHARING MOBILE APPLICATION ......................................................... 21 3.1 Use Cases.................................................................................................... 21 3.1.1 Background Execution.................................................................. 21 3.1.2 Managing Node Settings............................................................... 21 3.1.3 Sharing Files ................................................................................. 22 3.1.4 Retrieving Files............................................................................. 22 3.1.5 Managing Files ............................................................................. 22 3.1.6 Viewing Node Information ........................................................... 22 3.2 System Requirements.................................................................................. 22 3.3 Existing IPFS Mobile Applications ............................................................ 23 3.4 Platform Selection....................................................................................... 23 3.5 Sailfish OS .................................................................................................. 24 3.6 Risks and Challenges .................................................................................. 25 4. IMPLEMENTATION ............................................................................................ 26 4.1 Overview of the Architecture...................................................................... 26 4.2 Libipfs – Wrapper Library for go-ipfs ........................................................ 27 4.2.1 Cross-compilation for Sailfish OS Devices .................................. 28 4.2.2 Continuous Integration ................................................................. 28 4.3 Asterism – IPFS Mobile Client Application............................................... 31 5. SYSTEM EVALUATION AND DISCUSSION.................................................... 35 5.1 Measurements ............................................................................................. 35 5.1.1 Power Consumption...................................................................... 37 5.1.2 Network Usage.............................................................................. 41 5.2 Functionality ............................................................................................... 43 5.3 Discussion................................................................................................... 44 6. CONCLUSIONS.................................................................................................... 46 REFERENCES .............................................................................................................. 48 v LIST OF SYMBOLS AND ABBREVIATIONS ARM an processor architecture ARPANET Advanced Research Projects Agency Network, the early Internet CI Continuous Integration CPU Central Processing Unit DAG Directed Acyclic Graph DHT Distributed Hash Table GUI Graphical User Interface HTTP Hypertext Transfer Protocol ID Identifier IPFS InterPlanetary File System IPLD InterPlanetary Linked Data IPNS InterPlanetary Naming System MFS Mutable File System NAT Network Access Translation OS Operating System p2p peer-to-peer QML Qt Modeling Language Qt cross-platform application development framework

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    58 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us