2

Click here to load reader

[IEEE 2008 5th IEEE Consumer Communications and Networking Conference - Las Vegas, Nevada, USA (2008.01.10-2008.01.12)] 2008 5th IEEE Consumer Communications and Networking Conference

Embed Size (px)

Citation preview

Page 1: [IEEE 2008 5th IEEE Consumer Communications and Networking Conference - Las Vegas, Nevada, USA (2008.01.10-2008.01.12)] 2008 5th IEEE Consumer Communications and Networking Conference

Distributed Hash Table on Mobile Phones

Imre Kelényi, Bertalan Forstner Department of Automation and Applied Informatics Budapest University of Technology and Economics

Budapest, Hungary {imre.kelenyi, bertalan.forstner}@aut.bme.hu

Abstract-Distributed Hash Tables (DHTs) are commonly used in wired peer-to-peer networks for various purposes. However, implementing a DHT on mobile devices, especially on commercially available mobile phones, has not been carried out yet. We created a generic DHT library that is based on the Kademlia protocol. It can store and retrieve arbitrary data in a network that consists of mobile phones only. In this demonstration, we show a working prototype of the system by setting up a small network over Ad-hoc WLAN. We also demonstrate the main concepts behind the DHT by displaying online network information so that the audience can track the status of the DHT in real-time.

Keywords-peer-to-peer; dht; mobile

I. INTRODUCTION

DHTs are highly decentralized systems that offer a novel way to store values associated with keys. They consist of a network of nodes that communicate with each other over a common protocol to store and retrieve data and maintain the integrity of the system. The stored data can be accessed via a lookup service similar to a hash table: by providing the key, the associated value can be retrieved by any node in the network. The key characteristics of DHTs are decentralization, scalability, and robustness. They tolerate node arrivals, departures, and failures very well, which makes them an ideal solution for content sharing in mobile environments.

Designing DHTs for Mobile Ad-hoc Networks (MANETs) and evaluating their performance is a broad research area that has already been addressed by some publications [1][2]. However, very few of the papers focus on the feasibility of implementing the concrete system.

Mobile phones with considerable processing power and support for a wide range of communication technologies are becoming widespread. Most of these devices, often referred to as smartphones, are based on open platforms that allow third party developers to create and deploy complex applications. The goal of the project addressed by this demonstration is to implement a general DHT for commercially available mobile phones. Trivial use-cases can be any kind of storage and retrieval systems. Besides storing simple text values, contact data, multimedia files or even documents can also be stored in the mobile DHT.

Maintaining a DHT that consists of only mobile phones can raise several issues that may come up only in a real-device environment. What is the energy cost of the constant service

communication? Are current mobile phones really ready to handle the heavy load of calculations that maintaining the DHT involve? What special use-cases can be found for such systems? How can we exploit the special characteristics of mobile phones? These are only a few examples for the questions that we are currently observing.

II. THE SYSTEM

Several different DHT protocols and implementations exist. Although they use different lookup mechanisms and were basically built around different algorithms, they all aim to provide the same basic services: storing and retrieving values in a highly distributed system. We chose the Kademlia protocol [3] as the basis of our mobile DHT. Kademlia is a DHT designed for decentralized peer-to-peer computer networks. It is used in several file-sharing systems to find information in the network so that it can be downloaded. The most prominent example is BitTorrent, which uses Kademlia to find peers that share a particular resource (torrent). BitTorrent was one of the main reasons why we decided to use Kademlia, since we can immediately test the system with our already available mobile BitTorrent-client [4][5].

Figure 1. shows the basic architecture of the system.

Figure 1. Basic architecture of the mobile DHT

The generic (base) part implements the Kademlia protocol in a DLL. It is not responsible for network communication or message parsing; it only focuses on maintaining the routing table and the database of the stored value-key pairs. All platform-specific functions are defined as abstract interfaces which must implemented by the concrete (derived) DHT library.

In this setup, the derived library is the BitTorrent DHT implemented on Symbian OS. It can store peer addresses associated with the info hash of a torrent. For the demonstration we are going to modify the system so that it

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE CCNC 2008 proceedings.

1-4244-1457-1/08/$25.00 © IEEE1226

Page 2: [IEEE 2008 5th IEEE Consumer Communications and Networking Conference - Las Vegas, Nevada, USA (2008.01.10-2008.01.12)] 2008 5th IEEE Consumer Communications and Networking Conference

will be able to store arbitrary text values instead of IP addresses only.

III. DEMONSTRATION

A. Description and setup

The demonstration aims to show a proof of concept that a DHT can be operated with mobile phone nodes only. We will set up a small network over Ad-hoc WLAN that consist of three to five mobile phones. The phones will form a small DHT. Users can enter text values on the phones and then store or retrieve the data from the network. Since the nodes in the DHT form a single entity, any phone can be used to retrieve data stored in the network, even if the data is originally stored by a different phone.

To visualize the state of the DHT, we will host a visualization server on a separate desktop computer. It is an application which can show the status of the mobile nodes in near real-time. The nodes connect to the server in regular intervals and send their status info so that the server can display it in a dynamically updated figure. It will be clearly visible which mobile node stores which value. We may also simulate network failures and changes in the network topology (arrival and departure of nodes).

Figure 2. shows the demonstration setup.

Figure 2. The mobile DHT demonstration setup

We may also bring a poster that shows the general concepts behind the mobile DHT and describes the demonstration.

B. Requirements

We will bring mobile phones that have the required

applications preinstalled. Since the mobile phones will communicate with each other and the visualization server over Ad-hoc WLAN, Internet access is not needed.

We will also bring a laptop to host the visualization server. If a separate display were provided, we could show the real-time network status in a more visible way. However, it should

be emphasized that this is not a strict requirement since we can show the network status on the laptop screen as well.

In case we cannot set up the visualization server or the Ad-hoc WLAN network, we can still show some pre-recorded sessions on the display.

REFERENCES [1] H. Pucha, S.M. Das, Y.C. Hu, “Ekta: an efficient DHT substrate for

distributed applications in mobile ad hoc networks”, Proceedings of the Sixth IEEE Workshop on Mobile Computing Systems and Applications (WMCSA'04), 2004

[2] T. Zahn, J. Schiller, “DHT-based Unicast for Mobile Ad Hoc Networks”, Proceedings of the 4th annual IEEE international conference on Pervasive Computing and Communications Workshops, 2006

[3] P. Maymounkov, D. Mazieres, “Kademlia: A peer-to-peer information system based on the xor metric,” Proceedings of IPTPS02, Cambridge, USA, March 2002

[4] I. Kelényi, B. Forstner, “Deploying BitTorrent Into Mobile Environments.” Proceedings of European Computing Conference 2007 (ECC’07), Athens

[5] I. Kelényi, G. Csúcs, B. Forstner, H. Charaf, “Peer-to-Peer File Sharing for Mobile Devices,” Mobile Phone Programming: Application to Wireless Networks, F. Fitzek, F. Reichert Eds.; ISBN: 978-1-4020-5968-1. Springer, 2007

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE CCNC 2008 proceedings.

1227