Most applications and services rely on central au- thorities. 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. A decentralized system could be a solution to remove the dependency from a central authority. Moreover, due to the rapid growth of mobile device usage, the availability of decentralization must not be limited only to desktop computers.
In this work we aim at studying the possibility to use mobile devices as a decentralized file sharing platform without any central authorities. This was done by implementing Asterism, a peer-to-peer file-sharing mobile application based on the Inter- Planetary File System. We validate the results by deploying and measuring the application network usage and power consumption in multiple different devices.
Results show 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 of the 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.
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
Â
Asterism: A Decentralized File Sharing for Mobile Devices
1. Asterism: A Decentralized File Sharing
for Mobile Devices
Olli-Pekka Heinisuo, Valentina Lenarduzzi, Davide Taibi
Tampere University
CloWEE – Cloud and Web Engineering
http://research.tuni.fi/clowee
2. Background
â—Ź Computers, smart devices are connected to the internet
â—‹ produce and consume huge amounts of data
â—Ź Data need to be stored somewhere
â—‹ cloud platforms
â– AWS, Azure, Google Cloud etc.
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
3. Background
Data Storage is highly centralized
â—Ź In the hands of a few large private enterprises
â—Ź Single point of failure (there are still servers)
â—Ź Concerns about privacy and security
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
4. Background
How to avoid the usage of the central entities?
â—Ź Peer-to-peer (p2p) networking
â—‹ Every device is both a client and a server
â– BitTorrent, Freenet, Gnutella, Napster etc.
â—‹ Widely used by cryptocurrencies
■Bitcoin and Ethereum, …
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
5. Goal
Is it possible to use mobile devices as a
decentralized content delivery network
without any central servers or authorities?
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
6. Research Method
â—Ź Development of proof of concept
â—‹ p2p mobile application
â—Ź Validation
â—‹ Measurement on different devices
â– network usage
â– power consumption.
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
7. Peer-to-peer network selection
â—Ź InterPlanetary File System (IPFS)
â—‹ Widely used
â—‹ Reference implementation available in Go
â—‹ Very active development
â—Ź Dat
â—‹ hard to integrate to resource constrained mobile environment
â—‹ JavaScript-only implementation
â—Ź Swarm (part of Ethereum ecosystem)
â—‹ Not mature (in alpha state)
â—‹ depends on Ethereum
Selected
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
8. Mobile Application Requirements
â—Ź Start and stop a fully working IPFS node.
â—Ź Run in the background while other applications are running.
â—Ź Display basic information about the node and its status in the user interface.
â—Ź User interface can be used to change basic settings of the node.
â—Ź User interface allows adding content to IPFS and retrieving content from
IPFS.
â—Ź Provides a file system style interface for managing the added files.
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
9. Mobile Platform Selection
Three mobile operating systems considered:
â—Ź iOS
â—Ź Android
â—Ź Sailfish OS
â—Ź True multitasking support
â– easy to run measurements while other apps are running in the background.
â—Ź Applications Developed in C++.
â– A shared library based on IPFS Go implementation can be used directly from C++ without extra software layers.
â—Ź Native access to full GNU/Linux system and terminal without rooting or jailbreaking the device.
â—Ź Access to many command line applications which would be hard to come by in the other two
operating systems.
Selected
11. The Mobile Application Developed
â—Ź The IPFS Go library (go-ipfs) cannot be directly used from a C++
application
â—Ź Separate wrapper, Libipfs, was developed for go-ipfs in Go and C
â—‹ This wrapper exposes simple to use IPFS methods
â—‹ Cross-compiled into shared library for ARM and x86 platforms
â—‹ Single binary, contains also Go runtime
â—‹ Available at https://github.com/skvark/libipfs
â—Ź Main mobile application, Asterism, is dynamically linked with
Libipfs
â—‹ Uses Libipfs methods, concurrency handled internally in Libipfs with
goroutines (lightweight threads of Go)
â—‹ Mainly QML-based GUI code and some C++
â—‹ Available at https://github.com/skvark/Asterism
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
14. Measurement Settings
The network usage and power consumption measurements:
â—Ź No content was added to or retrieved from IPFS
â—Ź Device screen was off
â—Ź Android support layer of the Sailfish OS was turned off
â—Ź Power consumption was measured for 4 hours
â—Ź Network usage was measured for about 2 hours
â—Ź Network combinations: WLAN + 4G, WLAN only, 4G only
â—Ź IPFS modes: full DHT (Distributed Hash Tables) and client only
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019
17. Conclusions
Mobile devices can be used to implement a fully decentralized content sharing network, but:
â—Ź Network usage was so high that the devices could not enter into deep sleep mode.
â—Ź Battery life was highly impacted.
â—‹ On 4G only about 7 hours of continuous usage is possible.
â—‹ On WLAN 14 hours .
â—Ź IPFS needs optimizations or/and bandwidth limit settings.
â—‹ Note: next version of go-ipfs was just released with some optimizations.
â—Ź Suitable for devices used as IoT, always connected to the electricity
@davidetaibi Asterism: A Decentralized File Sharing for Mobile Devices IEEE Mobile Cloud 2019