BitTorrent Based Solution for Efficient Content Sharing on Next Generation Networks

Similar documents
Hybrid Peer-to-Peer Content Sharing in Mobile Networks

Building Motion and Noise Detector Networks from Mobile Phones

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli

Using Home Routers as Proxies for Energy-Efficient BitTorrent Downloads to Mobile Phones

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Extreme Computing. BitTorrent and incentive-based overlay networks.

Energy-Consumption in Mobile Peer-to-Peer Quantitative Results from File Sharing

Ambiguity Handling in Mobile-capable Social Networks

BitTorrent. Masood Khosroshahy. July Tech. Report. Copyright 2009 Masood Khosroshahy, All rights reserved.

Peer-to-peer & Energy Consumption

A Method of Identifying the P2P File Sharing

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems

Peer-to-peer. T Applications and Services in Internet, Fall Jukka K. Nurminen. 1 V1-Filename.ppt / / Jukka K.

Peer-to-Peer Systems. Internet Computing Workshop Tom Chothia

Cooperation in Open Distributed Systems. Stefan Schmid

A Trace Study of BitTorrent P2P File Distribution with Downloading-Side Performance Measurement and Analysis

On maximum throughput in BitTorrent

Modeling Leechers Attack in BitTorrent

Content Distribution and BitTorrent [Based on slides by Cosmin Arad]

Do incentives build robustness in BitTorrent?

Personal Grid. 1 Introduction. Zhiwei Xu, Lijuan Xiao, and Xingwu Liu

P2P content distribution

IP Mobility vs. Session Mobility

BitTorrent and CoolStreaming

Bursty Content Sharing Mechanism for Energy-Limited Mobile Devices

P2P content distribution Jukka K. Nurminen

Peer-to-Peer Systems. Chapter General Characteristics

Peer-to-Peer Applications Reading: 9.4

Universal Communication Component on Symbian Series60 Platform

File Sharing in Less structured P2P Systems

Peer-to-Peer Architectures and Signaling. Agenda

Mobile Peer-to-Peer Business Models T Network Services Business Models. Mikko Heikkinen

CSE 486/586 Distributed Systems Peer-to-Peer Architectures

Dynamics, Non-Cooperation, and Other Algorithmic Challenges in Peer-to-Peer Computing

Learning Methods for Similarity Handling in Phonebook-centric Social Networks

Lecture 17: Peer-to-Peer System and BitTorrent

Spotify Behind the Scenes

Azureus Plugin for Facebook Integration

P2P and Handheld Devices Jukka K. Nurminen

Large-Storage Mobile Phones: New Devices Offering a New Application Domain

Taming the Flood: How I Learned to Stop Worrying and Love the Swarm Yogesh Vedpathak Cleversafe

Analysis and Performance Evaluation of Mobile Related Social Networks Main Results of the Ph.D. Thesis

PreFeed: Cloud-Based Content Prefetching of Feed Subscriptions for Mobile Users. Xiaofei Wang and Min Chen Speaker: 饒展榕

BitTorrent Fairness Analysis

Collaborative Multi-Source Scheme for Multimedia Content Distribution

P2P Computing. Nobuo Kawaguchi. Graduate School of Engineering Nagoya University. In this lecture series. Wireless Location Technologies

UNCORRECTED PROOF AUTHOR'S PROOF. Keywords Energy-efficiency. Proxy. Peer-to-peer. BitTorrent. Broadband router. Mobile.

BiToS: Enhancing BitTorrent for Supporting Streaming Applications

Performance Analysis and Improvement for BitTorrent-like File Sharing Systems

Characterizing Gnutella Network Properties for Peer-to-Peer Network Simulation

Header Compression Capacity Calculations for Wireless Networks

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza

The Scalability of Swarming Peer-to-Peer Content Delivery

Mobile Application Ecosystems

FUtella Analysis and Implementation of a Content- Based Peer-to-Peer Network

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Improving the Performance of the Peer to Peer Network by Introducing an Assortment of Methods

Summary Cache based Co-operative Proxies

Analysis of a Multiple Content Variant Extension of the Multimedia Broadcast/Multicast Service

Introduction to Distributed Computing Systems

Improving BitTorrent: A Simple Approach

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Changing the Unchoking Policy for an Enhnaced BitTorrent

Enriching Lifelong User Modelling with the Social e- Networking and e-commerce Pieces of the Puzzle

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Ossification of the Internet

P2P Networks - General

Validating a product

Modeling, Analysis and Improvement for BitTorrent-Like File Sharing Networks

BitTorrent for Really Selfish Peers T4T Trading over Cycles

arxiv:cs.ni/ v1 21 Nov 2006

Merging the best of HTTP and P2P

BitRiver: Final Report

OO Based Development of a Multi Media Application Server Prototype

Software Development for Mobile Devices

Mobile P2P Energy-efficiency issues on mobile phones

Scalability of the BitTorrent P2P Application

CS 3516: Advanced Computer Networks

SEVEN Networks Open Channel Traffic Optimization

One of the fundamental kinds of websites that SharePoint 2010 allows

Octoshape. Commercial hosting not cable to home, founded 2003

The Importance of History in a Media Delivery System

HTRC Data API Performance Study

Introduction to Hadoop and MapReduce

Peer to Peer Systems and Probabilistic Protocols

Performance Improvements of Peer-to-Peer File Sharing

BitTorrent. Internet Technologies and Applications

A Simulation: Improving Throughput and Reducing PCI Bus Traffic by. Caching Server Requests using a Network Processor with Memory

Peer Assisted Content Distribution over Router Assisted Overlay Multicast

VisoLink: A User-Centric Social Relationship Mining

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Challenges of Analyzing Parametric CFD Results. White Paper Published: January

Finding a needle in Haystack: Facebook's photo storage

A Secure and Dynamic Multi-keyword Ranked Search Scheme over Encrypted Cloud Data

Framework for replica selection in fault-tolerant distributed systems

An Cross Layer Collaborating Cache Scheme to Improve Performance of HTTP Clients in MANETs

Changing the Unchoking Policy for an Enhanced Bittorrent

Efficiency of Data Distribution in BitTorrent-Like Systems

Enhancing Downloading Time By Using Content Distribution Algorithm

MoB: A Mobile Bazaar for Wide Area Wireless Services. R.Chakravorty, S.Agarwal, S.Banerjee and I.Pratt mobicom 2005

Transcription:

1 BitTorrent Based Solution for Efficient Content Sharing on Next Generation Networks P. Ekler, I. Dévai, B. Bakos, A. J. Kiss Abstract As the architecture of participation became the main design principle in web2.0 more and more ent sharing solutions have appeared in the Internet. These systems encourage end users to create, publish, tag and consume ent. Most of them offer a web interface to access the service and they are typically implemented with the traditional client server software architecture. Due to the client server architecture they require additional investments on the backend side as the service attracts more and more users. In this paper we propose an innovative ent sharing solution, called Swarm, which offers the following benefits to service providers: cost efficient, mobility support and necessary rol points to prevent misuse of the service. We propose an architecture that combines the advantages of P2P and client server systems into a single, competitive hybrid solution. First, we introduce the proposed architecture with the most important features, discuss our experience with the reference implementation and finally demonstrate the calculations about the cost efficiency of the Swarm solution. Index Terms BitTorrent, Hybrid solution, Mobile phones N I. INTRODUCTION OWADAYS CONTENT SHARING is becoming more and more popular. The consumption of video and other multimedia ent besides music on mobile devices is also increasing. An interesting topic is how to get ent on mobile devices. Our objective is to create a ent sharing system for service providers that is efficient, supports mobility and provides a rol point. The increasing capabilities of mobile devices allow the implementation of a new range of applications. An important set of applications are peer to peer (P2P) applications. Pure P2P solutions are very efficient from the service provider Manuscript received November 30, 2007. This work was supported in part by the Nokia Siemens Networks. P. E. Author is with Budapest University of Technology and Economics, Department of Automation and Applied Informatics, 1111 Budapest, Goldmann György tér 3, Hungary. Tel: +36 1 463 1668 (e mail: peter.ekler at aut.bme.hu) I. D. Author is with Budapest University of Technology and Economics, Department of Automation and Applied Informatics, 1111 Budapest, Goldmann György tér 3, Hungary. Tel: +36 1 463 1668 (e mail: istvan.devai at aut.bme.hu) B. B. Author is with the Nokia Siemens Networks. (e mail: balazs.bakos at nsn.com) A. J. K. Author is with the Nokia Siemens Networks. Tel: +36 20 984 9324 (e mail: attila.kiss at nsn.com) point of view (especially if the ent is popular), like the Gnutella (LimeWire, BearShare), Napster, Kazaa. In these systems there is no need for large central servers, the participants (usually PCs connected through the internet) transfer the ent between each other. In these systems the infrastructure and operational costs (internet access, energy consumption) are implicitly divided among the end users. Search is also solved in a distributed way. The problem is the lack of mobility support. Mobile devices are different from desktop computers: they usually do not have public IP address, cannot store large amount of data, network bandwidth or cost are usually an issue, and the churn rate (connecting to and disconnecting from the network) is high. Also there is no rol point in these systems for removing ent protected by third party copyrights and for creating a premium ent service. The classical client server systems can be prepared to support the special needs of mobile devices (e.g. web pages designed for small screens and low bandwidth connections) and it gives the highest rol possible, but it requires expensive central server farms and the operational cost is also high. In this paper we propose an architecture that combines the P2P systems and client server systems into a hybrid solution. This so called Swarm architecture is based on the BitTorrent protocol. This protocol is known as a P2P protocol, but it has certain central elements (tracker, torrent file catalogs) that make it a good building block for a hybrid system (Section 3). In the Swarm solution home PCs are the potential members who can also participate in ent sharing. The first experimental steps towards this direction have already been taken with the implementations of popular ent sharing protocols, Gnutella and BitTorrent, for high end mobile phones [1]. These applications, Symella [2] and SymTorrent [3], are available in source code at the Budapest University of Technology and Economics. However, these applications are implemented on the Symbian platform (for Nokia S60 devices) which limits their use to a subset of high end mobile devices. The mainstream mobile phones are also able to consume most of the multimedia ent like images and mp3 music. This way bringing efficient ent sharing solution to those phones is also attractive. Some of us in a previous paper [4] have already examined this area, but that solution did not

2 support ent sharing on mobile devices. The rest of the paper is organized as follows. Section 2 describes related work in the area of BitTorrent performance analysis. Section 3 introduces the BitTorrent protocol in general, Section 4 discuses the implementation issues on mobile devices. Section 5 and 6 proposes the Swarm architecture and the respective mobile client applications. Section 7 demonstrates the calculations about the cost efficiency of the Swarm solutions. Finally Section 8 concludes the paper and proposes future plans. II. RELATED WORK One of the most popular P2P protocol is BitTorrent. Despite its popularity the actual behavior of these systems over prolonged periods of time is still poorly understood. Pouwelse et al. [5] presented a detailed measurement study over a period of eight months of BitTorrent. They presented measurement results of the popularity and the availability of BitTorrent, of its download performance, of the ent lifetime, and of the structure of the community responsible for verifying uploaded ent. The results were that the system is quite popular, but the number of active users in the system is strongly influenced by the availability of the central components. They also found that 90% of the peers experienced speeds were below 65 kb/sec. From the lifetime point of view they showed that only 9,219 out of 53,883 peers (17 %) have an uptime longer than one hour after they finished downloading. For 10 hours this number has decreased to only 1,649 peers (3.1 %), and for 100 hours to a mere 183 peers (0.34 %). Freeriders in BitTorrent systems are those who download but do not upload any data. This may happen when the user specially configures or modifies his client software. In [6] the authors collected BitTorrent usage data across multiple filesharing communities and analyzed the factors that affect users cooperative behavior. They found evidence that the design of the BitTorrent protocol results in increased cooperative behavior over other P2P protocols used to share similar ent. They also showed that in torrents with a relatively low number of seeders, BitTorrent is successful in penalizing free riding, in effect by increasing the download times of peers that freeride. However, in torrents where seeders are plentiful, i.e., torrents with high seeding ratios, free riders may download faster than collaborating peers. In [7] the goal of the authors was to develop an analytical model of a freerider in a BitTorrent network. They derived a inuous-time Markov model of a freerider. Unlike previous analytical models which capture the behavior of the network as a whole, their proposed model is able to analyze the performance from the user perspective. Minglu Liy, Jiadi Yuy and Jie Wu [8] presented a fluid model with two different classes of peers to capture the effect of freeriding on BitTorrent like systems. With the model, they found that BitTorrent's incentive mechanism is successful in preventing freeriding in a system without seeds, but may not succeed in producing a disincentive for freeriding in a system with a high number of seeds. While it is well known that BitTorrent is vulnerable to selfish behavior, Locher et al. [9] demonstrated that even entire files can be downloaded without reciprocating at all in BitTorrent. To this end, they presented BitThief, a freeriding client that never ributes any real data. They showed that simple tricks suffice in order to achieve high download rates, even in the absence of seeders. They also illustrated how peers in a swarm react to various sophisticated attacks. Guo et al. [10] showed that existing studies on BitTorrent systems are single torrent based, while more than 85% of all peers participate in multiple torrents according to our trace analysis. They presented measurements and analysis for multiple torrent environments. In a BitTorrent system, the service policy of seeds favors peers with high downloading speed, in order to improve the seed production rate in the system. They demonstrated with measurements that the higher the downloading performance peers have, the less uploading service they actually ribute. This indicates that peers with high speed finish downloading quickly and then quit the system soon, which defeats the design purpose of the seed service policy. III. BITTORRENT IN GENERAL BitTorrent concentrates on efficient, distributed file transfer [11]. The key attributes of the protocol are important for understanding the Calculations Section of this paper. BitTorrent is designed to distribute large amounts of data without incurring the corresponding consumption in costly server and bandwidth resources; hence, it can be adequate for mobile file sharing. With BitTorrent, when several peers are downloading the same file simultaneously, they send different pieces of this file also to each other. This behavior is one of the main advantages of the protocol. Figure 1. BitTorrent protocol download and upload at the same time Fig. 1 shows how download and upload can work at the same time. The percentages illustrate how much of the

3 ent have already been downloaded. Nodes marked as Seeder have already downloaded the full ent and their current task is only to share it with the rest of the network. Sharing files over BitTorrent needs at least one dedicated peer in the network which is called the tracker. The tracker coordinates file distribution and can be asked for the shared resources which are under its supervision. A network could ain several trackers in order to distribute the traffic. The process of sharing a file begins with the creation of a torrent file. This ains metadata describing the tracker and the files to be shared. Fig. 2 illustrates the structure of a general torrent file. Figure 2. Structure of the torrent file The torrent file needs to be registered to the tracker; afterwards, any client which obtains the torrent file can connect to the swarm and download or upload the files. The torrent file itself is relatively small in size, transferring it over the network does not consume significant amount of bandwidth. The torrent file can be transferred using numerous ways; however it is usually hosted on a web server. Peers are required to periodically check in with the tracker (this process is called announcing ); thus, the tracker can maintain an upto date list of the participating clients. Concerning legal issues, BitTorrent, similarly to any other file transfer protocol, can be used to distribute files without the permission of the copyright holder. However, a person who wishes to make a file available must run a tracker on a specific host and distribute the tracker s address in the torrent file. This feature of the protocol also makes possible to locate the trackers who are responsible for illegal ents. It is far easier to request the service provider of the tracker to shut the server down than finding every user sharing a file on a fully decentralized peer to peer network. IV. BITTORRENT ON MOBILE DEVICES Bringing the BitTorrent technology to mobile devices is challenging, because of the limited resources available on the mobile phones. The situation is more difficult if our target devices are not only smart phones but mainstream phones with even less resources as well. While we are speaking about P2P solutions on mobile devices it is important to mention that in order to become a full member of a P2P community, the mobile device has to accomplish some specific terms: The mobile device has to be able to connect to the network via the specific P2P protocol. It has to be able to download and upload ent. Publishing feature, which means that mobile users should also be able to create and share new ents to the P2P community. If the device is only able to connect to the network and download ent using a P2P protocol, then it is not a full member of the community and this behavior is not highly appreciated by the other members. In many cases (depending on the specific P2P implementation) the P2P network and the algorithms detect this selfish behavior and punish the specific peers with lower service rate or worse service quality. However, if a mobile phone is not able to become a full member of the community because of its inherent limitations, then a good solution would be to offer extensions like server support, which would enable mobile devices to become valuable members of the P2P network. The proposed hybrid Swarm solution does not punish mobile phones, because the expectations are that PC users will help in the ent distribution. By examining the possible behavior of mobile P2P users it is likely that their main goal is to download ent and go offline, preventing other peers to download ent from them. Measurements in [12] show that 53% of the mobile nodes stay online less than 10 minutes and 62% stay online less than 15 minutes. The reason for this behavior can be the increased cost for the upload traffic or the limited battery capacity. However, it is quiet a different issue, when the mobile phone user wants to publish some self created ent, where the interest of the user is to share and upload the ent. But even in that case we can not expect from the users to stay online for a longer period comparing to a PC member. Some of us took part of implementing a P2P solution for mobile devices based on the standard BitTorrent protocol. Popularity and efficiency were the top reasons to choose this P2P implementation. Concerning the previously mentioned issue, it is important to support the publish function of mobile devices with extensions in the architecture. The architecture is introduced in Section 5. A. Symbian Based BitTorrent Solution SymTorrent is the first full featured and complete BitTorrent client for Nokia S60 platform. It supports downloading multiple torrent files at the same time and it is capable of both downloading and uploading. Kelényi et al. [13] have already introduced the main architecture and characteristic of SymTorrent. The client application implements the standard BitTorrent protocol. It can communicate with a tracker and exchange file fragments with different type of BitTorrent clients.

4 B. J2ME based BitTorrent Solution By bringing BitTorrent technology to J2ME platform our goal is to support mainstream mobile devices from different manufacturers. J2ME is platform independent and available on a wide range of devices (including S40 and S60 but it is also available on platforms from other manufacturers e.g. UIQ). We used Nokia S40 phones initially for development and testing, and later we tested our application successfully also on Sony Ericsson devices. Our J2ME based BitTorrent engine is called MobTorrent. The details of MobTorrent were already introduced in another paper from us [4]. We realized that bringing the BitTorrent protocol to mainstream phones have some difficulties. From the networking point of view the BitTorrent protocol [11] uses HTTP connections for communicating with the tracker and TCP connections for the download and upload procedure from/to the other peers. These communication protocols are supported in MIDP 2.0 [14]. We found that there are limitations on S40 devices about how many connections can be maintained at the same time, this number was 9. However experiences in [4] show that downloading via 9 parallel connections is adequate in many cases, because the bandwidth on mainstream mobile phones is limited. From the file handling point of view the BitTorrent engine needs to store the downloaded ent on the file system of the device but during the download it requires some other file handling methods for hash calculation, etc. File handling in J2ME differs from the general Java file handling. The main difference is that on J2ME we can access a file only via input and output streams, this way reading from the file and even writing files are slower. In [4] we have discussed the problems in detail, but we have also showed in the measurement section that despite these limitations the performance of the application is still reasonable. These show that P2P application has different platform requirements than other type of applications and that they bring up problems that are not experienced by other ones. Function as a directory and search service, by means of an XML based interface. Coordinate seeding activity by optimal combination of the cheap seed power of home PCs and the reliable, but costly seed services available on the service provider side. Fig. 3 illustrates the elements of the Swarm architecture and their relations. Swarm Portal Server and BitTorrent Backend Server belong to the complete Swarm server. Mobile clients: the phones which are running the Symbian or J2ME based BitTorrent applications. Swarm portal server: the server application, which is running on the service provider side. Its functions are directory and search service and it supervises the BitTorrent backend. BitTorrent backend: it is for BitTorrent based services like tracking and seeding. The portal server does not implement the BitTorrent protocol itself, but uses a backend for this purpose. The portal server and the backend are communicating by using an easy to adopt interface, which allows plugging in various already implemented BitTorrent tracker and seeder applications. PC clients: desktop PCs can help seeding the ent uploaded by the mobile devices. V. SWARM ARCHITECTURE A. Introduction of the Architecture As it was already mentioned, mobile clients cannot participate in the BitTorrent network the same way a resource rich desktop PCs can. The usage habits of the users are also different on a mobile device, where they need much more condensed information, easy to use user interface. The goal of the Swarm architecture was to alleviate these problems: Provide a stable tracker, which mobile clients can use to track cellphone generated ent. Provide a reliable seed service for mobile users that are unable to seed the ent using their phone or desktop PC. B. Tracker Functions Figure 3. Swarm architecture In a BitTorrent based P2P network, the tracker is both used during the process of uploading and downloading. First, we have to consider the upload case, which happens when the mobile user creates some ent with his phone (video, audio, pictures, etc.) what he wants to share with the rest of the community. In the Swarm architecture, the following happens: 1. The user creates a torrent metadata file using our Swarm client application on the mobile device.

5 2. The user asks the client to share this file using the Swarm architecture. 3. The mobile client logs into the Swarm portal server using HTTP, and uploads the torrent file. 4. The portal server commands the BitTorrent backend to track the uploaded file. C.Seed Service After the torrent file is uploaded to the portal and the backend inserts it into the tracker, other users will ask the tracker if there are any available seeds of a particular torrent. However, in the Swarm architecture, the ent producers are also mobile devices, lacking a public IP address (they are usually behind a port restricted cone NAT). This presents the problem of initial seeding. The Swarm architecture solves this by introducing a reliable seed service for mobile devices. When a mobile phone uploads the torrent file to the portal, the mobile client can ask the backend of the portal to take over the responsibility of seeding. When this happens, the BitTorrent backend is instructed by the portal to enter Forced downloading mode. When the backend is in this mode, the mobile phone can connect to it, and upload the actual ent via BitTorrent protocol; this also solves the NAT problems of the phones. When other users will act the tracker to ask for seeds of the ent, the tracker can return the IP address of the reliable seed service. This service has high availability and faster network connection then mobile clients have. D.Directory and Search Service Due to the limited display and input capabilities of a mobile phone, it is not feasible to expect the mobile user to search traditional websites for torrent files. The user needs software that works with the native GUI of the mobile operating system and allows sharing, browsing, searching and downloading of ent with a click of a button. All the Swarm portal functions are available using a HTTP based interface, which returns with an OPML [15] or RSS [16] XML document that describes available ent. The server stores various metadata about the ent (title, author, type of ent) and allows categorization and tagging (similar what can be seen on blogs). For advanced users, the portal also offers a traditional web based interface, which can be used on a desktop PC with a web browser, thus it allows a quick and easy ent management. E. Seeding with PC seeds Even for a mobile operator, offering huge amount of ent can be costly both in terms of bandwidth and other resources (energy consumption, processing power, management costs, etc). The Swarm architecture allows the involvement of PCs, which reduces the resources needed on the operator side. This works by giving the users a special software (which is basically a standard BitTorrent client, with special plugins for cooperation with the architecture), that allows mirroring the shared ent, thereby increasing the number of seeds in the network. However, in the Swarm architecture one user can have multiple devices. For example a family can have one user, one PC at home and several mobile devices. They can use their mobile devices only for uploading pictures to a photo album, and the home PC will help to seed the ent. The implementation works simply way by giving the IP address and port of the PC seed to the mobile client during an initial seed. (Note that providing the port is important in order to allow multiple home PC seeds behind the same NAT). However, much more sophisticated features can also be implemented like doing fail over between the seeds at home and at the service provider side, maximizing performance and high availability. VI. SWARM CLIENTS Content sharing solution on mobile devices is an open area. We brought the previously introduced Swarm functions also to mobile phones. The Symbian based Swarm application is a client for high end mobile devices and the J2ME based JSwarm application is a client for mainstream phones. With these applications users are able to browse, search, download and even publish ents with the help of the Swarm server. There are minor differences between the Symbian and J2ME based clients, but those are mainly because of the platform differences. Figure 4. Symbian based Swarm client Fig. 4 introduces two screenshots from the Symbian based Swarm client. With the Symbian based solution users have richer user interface (UI) and more functions, for example if a user wants to publish something, it is possible to browse only images or the videos on the phone, not the whole file system. In the case of J2ME we had to implement a whole file selection dialog. The reason is that on Symbian we are able to reach the low level APIs of the operating system. Figure 5. J2ME based Swarm client

6 Fig. 5 illustrates the JSwarm. The main advantage of this client is the platform independency, thus runs on a wide range of mobile phones. The download performance of the application is comparable with MobTorrent s download performance [4]. The mobile applications have unique features that enhance the user experience and increase the usability: Easy publish feature, which hides the complex operations. There is no need for the users to understand for example the BitTorrent technology. The Symbian version tightly integrates with the S60 platform. For example, users are able to share ent directly from the gallery or camera application by choosing the native Send menu option, which will offer Swarm as one of the delivery mechanism in addition to the default ones like SMS, MMS and Bluetooth. Search and directory features, which enable users to find, browse and access the ent on a very simple way (Fig. 6.). Figure 6. Directory and Search functions VII. CALCULATIONS AND RESULTS The proposed Swarm architecture is basically a ent sharing solution for service providers. If a service provider planes to implement a ent sharing system for its users, the first idea is to create a client server like solution. Creating and maintaining that type of system is rather expensive if we think about bandwidth requirement, energy consumption, CPU usage and storage. The main advantage of our Swarm solution is that it distributes significant part of these costs to the user side, consequently it decreases the capital investments and operational costs for the service provider. The goal of this section is to investigate and introduce the cost and main attributes of the Swarm system. A. Storage overhead Besides the original ent the Swarm server has to store the torrents as well, which is an infinite overhead. However if we think about a bigger client server solution where the provider has to maintain mirror servers to ensure the optimal availability then we realize that the Swarm does not need that kind of mirror server support. TABLE I TORRENT FILE SIZE COMPARISON Torrent1 Torrent2 Torrent3 Torrent4 Content size 448 KB 1,16 MB 4,5 MB 7,78 MB Torrent size 327 B 639 B 1,65 KB 2,66 KB Overhead % 0.073 0.055 0.037 0.034 Table 1 represents typical torrent sizes which are representing ents what people would expectedly download or share on their mobile devices. The torrents were made with the torrent maker tool of the official BitTorrent client [17] with 64 KB of piece sizes. Torrent1 represents ent from one image, Torrent2 from three images, Torrent3 from one mp3 file and one image and Torrent4 from two mp3 files. We can see that the sizes of the torrent files are very minimal which creates only a minimal overhead (less than one tenth of a percent) on the server. B. Network overhead From the networking point of view if we assume that all of the BitTorrent traffic goes through the servers and there are no home PC support then the Swarm solution has overhead comparing to a Client server solution for downloading a data file. The client server overhead for ent downloads ains only the HTTP overhead. It was around 900 bytes for the GET request and 350 bytes for the response for downloading 500kB and 2MB files with an internet explorer (measured with WireShark network analyzer). The overhead of the Swarm system for ent downloads has the following components: HTTP overhead: The first step in the Swarm architecture is to download the torrent file through HTTP protocol. It has the same overhead (approximately 1250 bytes for each file) as in the client server system Torrent file overhead: In the Swarm, the client has to download torrent file prior to download any ent. This type of traffic does not exist in the client server system because there the ent is downloaded directly. The torrent file length depends on the ent length (Table 1). Peer handshake overhead: The handshake protocol must be performed once with every peer. Each handshake message has a fixed length of 69 bytes [11]. Assuming 10 peer handshakes per file [4] means 690 bytes of handshake overhead. Piece exchange overhead: Each piece exchange has 9 bytes of overhead [11]. The overhead is the ent length / piece size * 9 bytes. We can use 64kB piece size for an upper estimation of this overhead. Announcement overhead: Peers periodically asks tracker for list of peers. The tracker response ains the list of peers. According to the BitTorrent specification [11] trackers return 50 peers by default. The size of a typical tracker response, which is: 26B

7 + 50*(53B) = 2,61kB. Typical announce interval is from 300 seconds to 600 seconds. Assuming a slow download speed [4] and frequent announcements for the upper limit of overhead the number of announcements are ent length / speed (14kB/s) / announcement interval (300s). The total overhead is the number of announcements multiplied by 2.61kB that depends on ent length. TABLE II OVERHEADS OF CONTENT DOWNLOAD [kb] Content 1 Content 2 Content 3 Content 4 Content size 448 1160 4500 7780 HTTP overhead 1.250 1.250 1.250 1.250 Torrent file 0.327 0.639 1.650 2.660 Peer handshake 0.069 0.069 0.069 0.069 Piece exchange 0.063 0.163 0.633 1.094 Announce 0.278 0.721 2.796 4.835 Table 2 summarizes the overheads (in kilobytes) for different files with different ent lengths. We used the same files as in the storage overhead calculation (VI/A). The relative overhead for the client server system ( OH ) is the HTTP overhead divided by the ent size. The relative overhead for the Swarm system ( OH ) is the sum of all Swarm overheads in Table 2 divided by the ent size. These overheads are summarized in the Table 3. TABLE III RELATIVE OVERHEADS OF CONTENT DOWNLOAD Content 1 Content 2 Content 3 Content 4 Content size [kb] 448 1160 4500 7780 Client-server overhead [%] 0.279 0.108 0.028 0.016 Swarm overhead [%] 0.444 0.245 0.142 0.127 The overhead of Swarm system is much higher especially for larger files than the simple client server system. But actually even the biggest overhead is less than half of a percent. For the rest of our analysis we use half percent as an upper estimation of Swarm ent download overhead and use zero as a lower estimation of client server ent download. C.Benefits of the Swarm solution We can see that the pure BitTorrent download has overhead comparing to the simple client server solution. However in our Swarm solution we have support from PC users. Following we introduce how can we calculate the total cost of a client server solution and the Swarm solution when a user first browse the server for the right ent then downloads it. After it we show how it is possible calculate the benefit of the Swarm solution. Instead of the real cost of the system we use the traffic load assuming the cost of ent download is proportional to the generated traffic, because higher traffic means higher CPU load, higher network load and higher energy consumption. The download of large files (picture, music, video) is only one component of the total cost in a ent management system. In a complex system there can be user management, catalogs with browse and search features, and other services and network traffic that cannot be handled (efficiently) with BitTorrent (like blogging, chat etc.). In our model we split the cost into two parts: first part is proportional to the traffic induced by ent downloads ( C ) and the second part ains all the rest. We call the later one as management cost C ) because it is related to ent management ( mgmt services. The total cost of Swarm ains one parameter that is the seed ratio ( S ). It means there are other seeds in the system than the central seed (in the Swarm server) where the clients can download pieces of ents from using the BitTorrent protocol. The value of this ratio is between zero and one: zero means everybody downloads from the central server and one means everybody downloads from elsewhere. The actual ratio depends on the system, users behavior and incentive systems used to encourage upload. Most of the mobile phones today and in the near future might not be able to seed data because of certain limitations like limited or expensive bandwidth or limited battery capacity. Because of these we expect only PCs at the first time to seed ent. The PC seeds helps to remove a part of the traffic of ent download, but they cannot help to eliminate the management cost and they cannot eliminate most of the BitTorrent overheads (like torrent file or announce overheads). For simplifying the formulas we use the following upper estimation: PC seeds are removing only the ent download but nothing from the ent download overhead. With these assumptions the cost of client server system ( C ) and cost of Swarm system ( C Swarm ) are the following: C = C + C OH + C (1) Swarm mgmt ( S ) + C OH Swarm Cmgmt C = C 1 + (2) The relative cost of the Swarm system ( C rel ) is the Swarm cost divided by the client server cost. If this number is for example 0.7 it means the cost of Swarm system is 70% compared to classical client server system so it is 30% cheaper. Of course the relative cost could be higher than one if there are no seeds at all (because of higher overhead of BitTorrent). The relative cost is: C rel = C Swarm ( 1 S + OHSwarm + α ) ( 1+ OH + α ) / C = (3)

8 Cmgmt α = (4) C This alpha value depends on the actual service, and higher value results in higher relative cost. If the service provider would like to run several social networking functions on its ent sharing solution then the management cost can be high (so the alpha parameter is high), because the users usually browse, chat, write messages or blog entries, but download only few large files (like pictures) using the BitTorrent protocol. For example in a social network solution like MySpace, the management cost is higher than in the Google photo album where users just browse the images and after that they can download the selected ones. The relative cost may depend on other parameters like the maximum picture sizes allowed to upload or the user interest in downloading the pictures. For example if users are downloading twice as many pictures (but the other parameters of the system remain the same) then the alpha reduces to its half. Currently in our Swarm mobile client solution the management cost is low, because the mobile application communicates with the server via OPML and there is not any social networking like services. Finally we introduce benefit graph (Fig. 7.). We assume the management cost per ent download cost is 0.1 for a high download system (photo album) and 0.5 for a social network system (like MySpace). Relative cost 1,2 1 0,8 0,6 0,4 0,2 0 0 0,2 0,4 0,6 0,8 1 Seed ratio α = 0.1 α = 0.5 Figure 7. Relative cost of Swarm system VIII.CONCLUSION AND FUTURE WORK In this paper we introduced an efficient ent sharing solution for mobile operators. The members of the Swarm architecture are the Swarm server with the BitTorrent backend and portal functions, the mobile clients and the home PCs. With this architecture mobile phones will be also able participate in a ent sharing network. Our solution uses BitTorrent protocol for efficient ent sharing and home PCs help in the distribution. This architecture requires less storage capacity, energy consumption and processing power on the service provider side comparing to a client server solution, thus the service operator can provide the Swarm services on lower prices. The main advantage of this solution is the cost efficiency for service providers, because the produced traffic distributed in the network and significant part of the infrastructure and operation cost handled by the Swarm client applications. The Swarm solution implemented several features to enhance the user experience on mobile devices when it comes to ent sharing. Among those users can find features such as easy search, browsing directories and one click ent publish directly from the built in camera and gallery applications. Naturally, these user interface elements can be implemented in a traditional client server based solution too. From user experience point of view, Swarm made a special effort in hiding all the complexity that comes with the hybrid architecture. In practice, this means that user does not realize the complexity of the underlying system, what is more he or she gets the impression that the service is implemented with the traditional client server approach. Future work will be to encourage home PCs to take a larger part in ent sharing. One possible solution is a rewarding system for home PCs, the more ent they share the better service they get from the Swarm server. We also plan to analyze the concept of implementing social networking solutions above the proposed Swarm architecture. Furthermore, we plan to make additional measurements on the performance of the reference implementation of the proposed Swarm architecture and compare the results with existing client server systems. In this paper we have not analyzed mobile clients from the energy consumption point of view, however in the future this will be important if the mobile phones use the network more intensively. ACKNOWLEDGMENT We thank Szabolcs Fodor from Nokia Siemens Networks for supporting the Swarm research project. REFERENCES [1]I. Kelényi, G. Csúcs, B. Forstner, H. Charaf, Peer to Peer File Sharing for Mobile Devices, In Mobile Phone Programming: Application to Wireless Networks; F. Fitzek, F. Reichert Eds.; ISBN: 978 1 4020 5968 1. Springer, 2007 [2]B. Molnár, B. Forstner, I. Kelényi, Symella 1.40, Budapest University of Technology and Economics. Nov. 19, 2007. [Online]. Available: http://symella.aut.bme.hu [3]I. Kelényi, P. Ekler, Zs. Pszota, SymTorrent 1.30, Budapest University of Technology and Economics. Nov. 19, 2007. [Online]. Available: http://symtorrent.aut.bme.hu [4]P. Ekler, J. K. Nurminen, A. J. Kiss Experiences of implementing BitTorrent on Java ME platform, CCNC 08. 1st IEEE International Peer to Peer for Handheld Devices Workshop 2008, Las Vegas, USA, to be published [5]J. Pouwelse, P. Garbacki, D. Epema, H. Sips, The BitTorrent p2p filesharing system: Measurements and analysis, IPTPS'05. 4th Int. Workshop on Peer To Peer Systems 2006, Ithaca, New York, USA [6]N. Andrade, M. Mowbray, A. Lima, G. Wagner, M. Ripeanu, Influences on Cooperation in BitTorrent Communities, ACM SIGCOMM workshop on Economics of peer to peer systems 2005, Philadelphia, Pennsylvania, USA

9 [7] M. Barbera, A. Lombardo, G. Schembra, M. Tribastone, A Markov Model of a Freerider in a BitTorrent P2P Network, GLOBECOM 05. Global Telecommunications Conference 2005, DIIT, Catania Univ., Italy [8]M. Liy, J. Yuy, J. Wu, Free Riding on BitTorrent like Peer to Peer File Sharing Systems: Modeling Analysis and Improvement, ICPPW 2007, International Conference on Parallel Processing Workshops 2007, XiAn, China [9]T. Locher, P. Moor, S. Schmid, R. Wattenhofer, Free Riding in BitTorrent is Cheap, In HotNets, 2006 [10] L. Guo, S. Chen, Z. Xiao, E. Tan, X. Ding, X. Zhang, Measurements, Analysis, and Modeling of BitTorrent like Systems, IMC'05. ACM SIGCOMM Internet Measurement Conference 2005, New Orleans, LA [11] BitTorrent specification, Nov. 19, 2007. [Online]. Available: http://wiki.theory.org/bittorrentspecification [12] B. Forstner, Semantic Peer to Peer Information Retrieval for Mobiles, MDD 2007, Aalborg, Denmark [13] I. Kelényi, B. Forstner, Deploying BitTorrent Into Mobile Environments, ECC 07. WSEAS European Computing Conference 2007, Athens [14] Mobile Information Device Profile 2 description, Nov. 20, 2007. [Online]. Available: http://developers.sun.com/mobility/midp/articles/midp2network [15] OPML specification, Nov. 27, 2007. [Online]. Available: http://www.opml.org/ [16] RSS specification, Nov. 27, 2007. [Online]. Available: http://www.rssspecifications.com/ [17] Official BitTorrent client, Nov. 27, 2007. [Online]. Available: http://www.bittorrent.com/