battorrent : a battery-aware bittorrent for mobile devices

1
97% 93% 90% 90% 87% 86% 86% 84% 82% 81% 79% 79% 70% 64% 54% 52% 51% 39% 37% 35% 29% 18% 17% 16% 15% 14% 12% 12% 11% 9% 7% 6% 5% 4% 3% 1% 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 BitTorrent Battery Level of Nodes Upload Contribution (MB) BatTorrent: A Battery-Aware BitTorrent for Mobile Devices Zach King, Jeremy Blackburn, Adriana Iamnitchi Computer Science and Engineering, University of South Florida Acknowledgements: This material is based upon work supported by the National Science Foundation under Grant No. CNS-0831785 MOTIVATION Introducing BitTorrent to mobile devices (i.e., mobile phones) dramatically increases both the concern and consequences for power loss. BitTorrent's tit-for-tat mechanism ensures that all peers, including mobile peers, must upload content in order to download content. As transmission of data necessarily consumes more energy than reception of data, a mobile BitTorrent peer is faced with a conundrum: maximize upload bandwidth to receive the reciprocal download bandwidth and drain battery or limit the rate of data upload and suffer the consequences of the tit- for-tat enforcement. def choking_algorithm(peers) # determine regular unchokes peers.sort(R) # R = Ordering Function Num_unchokes.times do |peer_index| peers[peer_index].unchoke end # choke everyone else choked_peers = peers[Num_unchokes, peers.length] choked_peers.each do |peer_to_choke| peer_to_choke.choke end # perform optimistic unchokes choked_peers[rand(choked_peers.length)].unchoke end PROPOSED SOLUTION Scaling the upload rate of peers as a function of remaining battery life, while also inversely scaling the rate measures, will allow a battery proportionate contribution to the swarm without suffering the penalties associated with scaled upload rates. BatTorrent is integrated with a social strength service to mitigate the risk of peers lying about their battery level to gain an unfair advantage. BITTORRENT MODIFICATIONS 3) Modify the choking algorithm to manage the scaled uploads 2) Allow peers to scale upload based on battery level 1) Introduce a new message type, BATT FUTURE WORK We are currently investigating other scaling functions. In addition, we are examining a battery level threshold approach to BatTorrent bandwidth scaling. While we have a proof of concept of BatTorrent running on the Android emulator and a G1 dev phone, experiments composed primarily of mobile devices will come soon. PRELIMINARY RESULTS BatTorrent is implemented on Android G1 phone and preliminary experiments at scale on PlanetLab Rate Ordering Function R: BitTorrent: Strictly based on upload rate, r. BatTorrent: Compensates for scaled uploads based on f(r, batt, socs) Num_unchokes: Represents the number of unchoke slots available. While the BitTorrent specification indicates four slots, this can vary per client. Optimistic Unchokes: Per BitTorrent spec one slot is reserved for a random peer to be unchoked, which allows new peer discovery. f ( r , batt , socs )= r × 1 batt × socs r = upload batt = battery socs = social str 4) Social strength service Rely on a social strength service to infer social- based trust to help mitigate gaming and provide incentives for resource sharing

Upload: gazit

Post on 23-Feb-2016

55 views

Category:

Documents


1 download

DESCRIPTION

BatTorrent : A Battery-Aware BitTorrent for Mobile Devices. Zach King, Jeremy Blackburn, Adriana Iamnitchi Computer Science and Engineering, University of South Florida . MOTIVATION - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: BatTorrent :  A Battery-Aware  BitTorrent  for Mobile Devices

97%

93%

90%

90%

87%

86%

86%

84%

82%

81%

79%

79%

70%

64%

54%

52%

51%

39%

37%

35%

29%

18%

17%

16%

15%

14%

12%

12%

11% 9% 7% 6% 5% 4% 3% 1%

0

25

50

75

100

125

150

175

200

225

250

275

300

325

350

375

400

425

450

475

500

BitTorrent BatTorrent

Battery Level of Nodes

Upl

oad

Cont

ributi

on (M

B)

BatTorrent: A Battery-Aware BitTorrent for Mobile Devices Zach King, Jeremy Blackburn, Adriana Iamnitchi

Computer Science and Engineering, University of South Florida

Acknowledgements: This material is based upon work supported by the National Science Foundation under Grant No. CNS-0831785

MOTIVATIONIntroducing BitTorrent to mobile devices (i.e., mobile phones) dramatically increases both the concern and consequences for power loss. BitTorrent's tit-for-tat mechanism ensures that all peers, including mobile peers, must upload content in order to download content. As transmission of data necessarily consumes more energy than reception of data, a mobile BitTorrent peer is faced with a conundrum: maximize upload bandwidth to receive the reciprocal download bandwidth and drain battery or limit the rate of data upload and suffer the consequences of the tit-for-tat enforcement.

def choking_algorithm(peers) # determine regular unchokes peers.sort(R) # R = Ordering Function Num_unchokes.times do |peer_index| peers[peer_index].unchoke end # choke everyone else choked_peers = peers[Num_unchokes, peers.length] choked_peers.each do |peer_to_choke| peer_to_choke.choke end

# perform optimistic unchokes choked_peers[rand(choked_peers.length)].unchokeend

PROPOSED SOLUTIONScaling the upload rate of peers as a function of remaining battery life, while also inversely scaling the rate measures, will allow a battery proportionate contribution to the swarm without suffering the penalties associated with scaled upload rates. BatTorrent is integrated with a social strength service to mitigate the risk of peers lying about their battery level to gain an unfair advantage.

BITTORRENT MODIFICATIONS

3) Modify the choking algorithm to manage the scaled uploads

2) Allow peers to scale upload based on battery level1) Introduce a new message type, BATT

FUTURE WORKWe are currently investigating other scaling functions. In addition, we are examining a battery level threshold approach to BatTorrent bandwidth scaling. While we have a proof of concept of BatTorrent running on the Android emulator and a G1 dev phone, experiments composed primarily of mobile devices will come soon.

PRELIMINARY RESULTSBatTorrent is implemented on Android G1 phone and preliminary experiments at scale on PlanetLab

Rate Ordering Function R:BitTorrent: Strictly based on upload rate, r.BatTorrent: Compensates for scaled uploads based on f(r, batt, socs)

Num_unchokes:Represents the number of unchoke slots available. While the BitTorrent specification indicates four slots, this can vary per client.

Optimistic Unchokes:Per BitTorrent spec one slot is reserved for a random peer to be unchoked, which allows new peer discovery.

f (r, batt, socs) = r ×1batt

× socs

r = upload rate

batt = battery level

socs = social strength

4) Social strength service

Rely on a social strength service to infer social-based trust to help mitigate gaming and provide incentives for resource sharing